Slide 1

Slide 1 text

Wieso versteht der Computer mich auf einmal? Wir lüften das Geheimnis von Embeddings Sebastian Gingter

Slide 2

Slide 2 text

▪ Generative AI in business settings ▪ Flexible and scalable backends ▪ All things .NET ▪ Pragmatic end-to-end architectures ▪ Developer productivity ▪ Software quality [email protected] @phoenixhawk https://www.thinktecture.com Wieso versteht mich der Computer auf einmal? Sebastian Gingter Developer Consultant @ Thinktecture AG Wir lüften das Geheimnis von Embeddings

Slide 3

Slide 3 text

4 ▪ Introduction ▪ Embeddings ▪ and a bit of theory ▪ Conclusion Agenda Wieso versteht mich der Computer auf einmal? Wir lüften das Geheimnis von Embeddings

Slide 4

Slide 4 text

Introduction

Slide 5

Slide 5 text

Wieso versteht mich der Computer auf einmal? Retrieval-augmented generation (RAG) Indexing & (Semantic) search Cleanup & Split Text Embedding Question Text Embedding Save Query Relevant Text Question LLM Vector DB Embedding model Embedding model Indexing / Embedding QA Wir lüften das Geheimnis von Embeddings

Slide 6

Slide 6 text

7 ▪ Classic search: lexical ▪ Compares words, parts of words and variants ▪ Classic SQL: WHERE ‘content’ LIKE ‘%searchterm%’ ▪ We can search only for things where we know that its somewhere in the text ▪ New: Semantic search ▪ Compares for the same contextual meaning ▪ “Das Rudel rollt das runde Gerät auf dem Rasen herum” ▪ “The pack enjoys rolling a round thing on the green grass” ▪ “Die Hunde spielen auf der Wiese mit dem Ball” ▪ “The dogs play with the ball on the meadow” Wieso versteht mich der Computer auf einmal? Semantic Search Wir lüften das Geheimnis von Embeddings

Slide 7

Slide 7 text

8 ▪ How to grasp “semantics”? ▪ Computers only calculate on numbers ▪ Computing is “applied mathematics” ▪ AI also only calculates on numbers ▪ We need a numeric representation of meaning ➔ “Embeddings” Wieso versteht mich der Computer auf einmal? Semantic Search Wir lüften das Geheimnis von Embeddings

Slide 8

Slide 8 text

Embeddings

Slide 9

Slide 9 text

▪ “Chatbots are, if used correctly, a useful tool.” ▪ “Chatbots_are,_if_used_correctly,_a_useful_tool.” ▪ [“Chat”, “bots”, “_are”, “,”, “_if”, “_used”, “_correctly”, “,”, “_a”, “_useful”, “_tool”, “.”] AI in Action mit GPT & Co. Sprachzentrierte Business-Anwendungen mit Large Language Models First: Tokens Basics https://platform.openai.com/tokenizer

Slide 10

Slide 10 text

11 Embedding (math.) Wieso versteht mich der Computer auf einmal? ▪ Topologic: Value of a high dimensional space is “embedded” into a lower dimensional space ▪ Natural / human language is very complex (high dimensional) ▪ Task: Map high complexity to lower complexity / dimensions ▪ Injective function ▪ Similar to hash, or a lossy compression Wir lüften das Geheimnis von Embeddings

Slide 11

Slide 11 text

12 ▪ Embedding model (specialized ML model) converting text into a numeric representation of its meaning ▪ Representation is a vector in an n-dimensional space ▪ n floating point values ▪ OpenAI ▪ “text-embedding-ada-002” uses 1536 dimensions ▪ “text-embedding-3-small” 512 and 1536 ▪ “text-embedding-3-large” 256, 1024 and 3072 ▪ Huggingface models have a very wide range of dimensions Wieso versteht mich der Computer auf einmal? Embeddings https://huggingface.co/spaces/mteb/leaderboard & https://openai.com/blog/new-embedding-models-and-api-updates Wir lüften das Geheimnis von Embeddings

Slide 12

Slide 12 text

13 ▪ Embedding models are unique ▪ Each dimension has a different meaning, individual to the model ▪ vectors from different models are incompatible with each other ▪ Some embedding models are multi-language, but not all ▪ In an LLM, also the first step after tokenizing is to embed the input into a lower dimensional space Wieso versteht mich der Computer auf einmal? Embeddings Wir lüften das Geheimnis von Embeddings

Slide 13

Slide 13 text

14 ▪ Mathematical quantity with a direction and length ▪ Ԧ 𝑎 = 𝑎𝑥 𝑎𝑦 Wieso versteht mich der Computer auf einmal? What is a vector? https://mathinsight.org/vector_introduction Wir lüften das Geheimnis von Embeddings

Slide 14

Slide 14 text

15 Vectors in 2D Wieso versteht mich der Computer auf einmal? Ԧ 𝑎 = 𝑎𝑥 𝑎𝑦 Wir lüften das Geheimnis von Embeddings

Slide 15

Slide 15 text

16 Vectors in 3D Wieso versteht mich der Computer auf einmal? Ԧ 𝑎 = 𝑎𝑥 𝑎𝑦 𝑎𝑧 Wir lüften das Geheimnis von Embeddings

Slide 16

Slide 16 text

17 Vectors in multidimensional space Wieso versteht mich der Computer auf einmal? Ԧ 𝑎 = 𝑎𝑢 𝑎𝑣 𝑎𝑤 𝑎𝑥 𝑎𝑦 𝑎𝑧 Wir lüften das Geheimnis von Embeddings

Slide 17

Slide 17 text

18 Calculation with vectors Wieso versteht mich der Computer auf einmal? Wir lüften das Geheimnis von Embeddings

Slide 18

Slide 18 text

19 𝐵𝑟𝑜𝑡ℎ𝑒𝑟 − 𝑀𝑎𝑛 + 𝑊𝑜𝑚𝑎𝑛 ≈ 𝑆𝑖𝑠𝑡𝑒𝑟 Word2Vec Mikolov et al., Google, 2013 Wieso versteht mich der Computer auf einmal? Man Woman Brother Sister https://arxiv.org/abs/1301.3781 Wir lüften das Geheimnis von Embeddings

Slide 19

Slide 19 text

20 Embedding-Model Wieso versteht mich der Computer auf einmal? ▪ Task: Create a vector from an input ▪ Extract meaning / semantics ▪ Embedding models usually are very shallow & fast Word2Vec is only two layers ▪ Similar to the first step of an LLM (after tokenization) ▪ Convert tokens to semantic values for input layer ▪ This comparison is very simplified, but one could say: ▪ The embedding model ‘maps’ the meaning into the model’s ‘brain’ Wir lüften das Geheimnis von Embeddings

Slide 20

Slide 20 text

21 Embedding-Model Wieso versteht mich der Computer auf einmal? 0 Wir lüften das Geheimnis von Embeddings

Slide 21

Slide 21 text

22 Embedding-Model Wieso versteht mich der Computer auf einmal? [ 0.50451 , 0.68607 , -0.59517 , -0.022801, 0.60046 , -0.13498 , -0.08813 , 0.47377 , -0.61798 , -0.31012 , -0.076666, 1.493 , -0.034189, -0.98173 , 0.68229 , 0.81722 , -0.51874 , -0.31503 , -0.55809 , 0.66421 , 0.1961 , -0.13495 , -0.11476 , -0.30344 , 0.41177 , -2.223 , -1.0756 , -1.0783 , -0.34354 , 0.33505 , 1.9927 , -0.04234 , -0.64319 , 0.71125 , 0.49159 , 0.16754 , 0.34344 , -0.25663 , -0.8523 , 0.1661 , 0.40102 , 1.1685 , -1.0137 , -0.21585 , -0.15155 , 0.78321 , -0.91241 , -1.6106 , -0.64426 , -0.51042 ] http://jalammar.github.io/illustrated-word2vec/ Wir lüften das Geheimnis von Embeddings

Slide 22

Slide 22 text

23 Embedding-Model Wieso versteht mich der Computer auf einmal? http://jalammar.github.io/illustrated-word2vec/ Wir lüften das Geheimnis von Embeddings

Slide 23

Slide 23 text

Embeddings Sentence Transformers, local embedding model Wieso versteht mich der Computer auf einmal? Wir lüften das Geheimnis von Embeddings DEMO 24

Slide 24

Slide 24 text

25 ▪ Embedding model: “Analog to digital converter for text” ▪ Embeds the high-dimensional natural language meaning into a lower dimensional-space (the model’s ‘brain’) ▪ No magic, just applied mathematics ▪ Math. representation: Vector of n dimensions ▪ Technical representation: array of floating point numbers Wieso versteht mich der Computer auf einmal? Recap Embeddings Wir lüften das Geheimnis von Embeddings

Slide 25

Slide 25 text

26 ▪ Select your Embedding Model carefully for your use case ▪ e.g. ▪ intfloat/multilingual-e5-large-instruct ~ 50% ▪ T-Systems-onsite/german-roberta-sentence-transformer-v2 < 70 % ▪ danielheinz/e5-base-sts-en-de > 80% hit rate ▪ Maybe fine-tuning of the embedding model might be an option ▪ As of now: Treat embedding models as exchangeable commodities! Wieso versteht mich der Computer auf einmal? Important Wir lüften das Geheimnis von Embeddings

Slide 26

Slide 26 text

27 ▪ Embedding models are “small” in comparison to LLMs ▪ but still large ▪ danielheinz/e5-base-sts-en-de is about 2 GB ▪ The inference engine for embeddings is large ▪ Sentence transformers has dep. on NVIDIA Cuda, 2.4 GB+ ▪ Docker container with pre-loaded model is 5+ GB Wieso versteht mich der Computer auf einmal? Also important Wir lüften das Geheimnis von Embeddings

Slide 27

Slide 27 text

Conclusion

Slide 28

Slide 28 text

29 Conclusion Wieso versteht mich der Computer auf einmal? Wir lüften das Geheimnis von Embeddings ▪ Embedding models vary strongly in quality ▪ Have a plan to change the model / recalculate embeddings ▪ Normalize your vectors to make search fast(er) ▪ Cluster your collections when search becomes slow or needs too much memory

Slide 29

Slide 29 text

30 Conclusion Wieso versteht mich der Computer auf einmal? Wir lüften das Geheimnis von Embeddings ▪ Use cases ▪ semantic search ▪ semantic routing ▪ tool selection ▪ prompt hacking detection ▪ …

Slide 30

Slide 30 text

by Ich danke Euch! Slides: Und wir danken unseren cim Sponsoren!