Upgrade to Pro — share decks privately, control downloads, hide ads and more …

cim Lingen 2024 - Wieso versteht mich der Compu...

cim Lingen 2024 - Wieso versteht mich der Computer auf einmal? - Wir lüften das Geheimnis von Embeddings

Slides for my Talk about embeddings at cim Lingen 2024.

Sebastian Gingter

September 20, 2024
Tweet

More Decks by Sebastian Gingter

Other Decks in Programming

Transcript

  1. Wieso versteht der Computer mich auf einmal? Wir lüften das

    Geheimnis von Embeddings Sebastian Gingter
  2. ▪ 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
  3. 4 ▪ Introduction ▪ Embeddings ▪ and a bit of

    theory ▪ Conclusion Agenda Wieso versteht mich der Computer auf einmal? Wir lüften das Geheimnis von Embeddings
  4. 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
  5. 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
  6. 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
  7. ▪ “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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 15 Vectors in 2D Wieso versteht mich der Computer auf

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

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

    auf einmal? Ԧ 𝑎 = 𝑎𝑢 𝑎𝑣 𝑎𝑤 𝑎𝑥 𝑎𝑦 𝑎𝑧 Wir lüften das Geheimnis von Embeddings
  15. 18 Calculation with vectors Wieso versteht mich der Computer auf

    einmal? Wir lüften das Geheimnis von Embeddings
  16. 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
  17. 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
  18. 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
  19. Embeddings Sentence Transformers, local embedding model Wieso versteht mich der

    Computer auf einmal? Wir lüften das Geheimnis von Embeddings DEMO 24
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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 ▪ …