embeddingプログラミングの基礎

Screenshot

Part 1 機械と人間が意味を共有するembeddingの世界

このセミナーは、前回のマルレク「機械の言語能力の獲得を考える」の続編になっています。当初は、「機械と人間が意味を共有するembeddingの世界を考える」というタイトルで予告されたものです。タイトル変更に伴う、今後のセミナー開催の予定については、このページの最後をご覧ください。

前回のセミナー「機械の言語能力の獲得を考える」を振り返る

↑ 見出しクリックで前回セミナーの「まとめページ」へ
前回のセミナーのblog リストは、こちら をクリック。

前回のセミナーは、現代のAI技術の到達点を「機械が言語能力を獲得した」と捉え、その中核を「意味を理解する」能力の獲得と見なして議論を展開していました。

その中心問題は、機械はどのようにして「意味を理解する」ようになったのかという問いであり、これに対して「意味の分散表現論」の発展が一つの答えを与えると述べています。

この四半世紀のAI技術の理論史は、「意味とは何か」を探求する「意味の分散表現論」すなわちembedding論の発展史であると考えることができます。

語の意味の分散表現が文の意味の分散表現へと進み、それをベースとした「翻訳モデル」がAttention メカニズムの導入により発展します。 変化はさらに続きます。Transformerを頂点とした「翻訳モデル」がencoder-only / decoder-only アーキテクチャーに分解・解体する中で、後者のアーキテクチャーの「勝利」として、「大規模言語モデル」が成立します。

「機械の言語能力の獲得」という機械の能力の画期的な拡大を可能としたのは、技術的には、強力な「大規模言語モデル」の成立によるものです。

マルレク「機械の言語能力の獲得を考える」のAIによる要約

意味の分散表現論、翻訳モデルから大規模言語モデルの成立の歴史を振り返ったこのセミナーは、embeddingに注目するこの連続セミナーの基本的な問題意識を示しています。

前回のセミナーのAIによる音声概要

このセミナーのAIによる音声概要は、次からアクセスできます。200ページの長い資料がとてもよくまとまっています。ぜひ、お聞きください。

前回のセミナーのメインのpdf資料のAIによるまとめ

また、このセミナーのメインのpdf資料のAIによるまとめは、次のリンクからアクセスできます。
https://maruyama097.blogspot.com/2026/02/blog-post_22.html

セミナー資料は、次のリンクで公開済みです。「マルレク「機械の言語能力の獲得を考える」の講演ビデオと講演資料公開しました」

機械と人間が意味を共有するembeddingの世界を考える

先のセミナーの振り返りでもみたように、機械が言語能力を獲得できたのは、人間のことばの意味をLLMがembeddingを通じて、理解できるようになったからだと考えています。

ただ、LLMが Next token predictionマシンであるという一般的な認識と、それがコンテキストを含む言葉の意味を理解する能力として現れるという認識には、ギャップがあるように思います。

また、embeddingは、それ自身で既に「世界」についての情報を豊富に含んでいるように思えます。そうした特徴は外付けのRAGとは独立なものです。それは、embedding の生成メカニズムそのものに根ざしているはずです。

ただ、こうした問題の多くに、今回のセミナーでは、答えることができませんでした。予告したコンテンツを一回のセミナーに収めることが難しくなっていて、セミナーを分割することになりました。

embedding プログラミングを学ぶことの意味

今回のセミナーでは、直接embeddingを操作するembeddingプログラミングを紹介します。
AIが、ほとんどどんなプログラムも作ってくれる時代に、プリミティブなembeddingプログラミングを学ぶことの意味を確認しておきましょう。

機械と意味を通じ合うための「共通言語」としての理解

僕は、Embeddingの発見を「この4半世紀のAI研究の白眉」と高く評価し、それを「人間と機械の共通言語」と呼んでいます。また、人間にとってEmbeddingは、音声や文字に次ぐ「ことばの第三の形態」であるとも位置づけています。

単なるプログラミングテクニックとしてだけでなく、「機械がどのように言葉の意味を数値(ベクトル)として捉え、意味の近さを計算しているのか(コサイン類似度など)」を知ることは、機械の言語理解の本質に触れることであり、AIを活用する上での強力な土台となります。

信頼性の高いAIシステムの根幹技術であるため

LLMの弱点であるハルシネーションを抑制し、情報の透明性と正確性を担保する手法として「RAG(検索拡張生成)」が重要視されています。 RAGのパイプラインでは、テキストをEmbeddingに変換してベクトルデータベースに登録し、ユーザーの入力とのコサイン類似度を用いて関連情報を検索(Vector Search)するというプロセスが必須のステップとして組み込まれています。

AIがコード自体を書いてくれるとしても、この「データをどのようにチャンクに分割し、ベクトル化して検索させるか」というシステム全体の設計やチューニングは人間が行う必要があり、その裏側にある技術を理解しているかどうかがシステムの品質を左右します。

より高度なシステムへの進化に対応するため

AI技術は、単純なベクトル検索を行うものから、クエリの書き換えや再順位付けを行う「Advanced RAG」、さらにはAIが自律的に検索対象や再検索を判断する「Agentic RAG」へと急速に進化しています。また、今後は「embeddingの共有・蓄積・検索」が情報の世界に大きなインパクトを与えると予想されています。

AIにプログラミングを任せる時代だからこそ、ブラックボックスになりがちな「ベクトル空間における意味の検索」の仕組みを人間が直接理解しておくことで、AIに対してより高度な指示を出し、生成されたシステムの評価や改善を正確に行うことができるようになると考えられます。

Part 2 embedding プログラミング入門

Language Model と Embedding Model

多くのAI ベンダーは、Language Model (LLM) と並んで Embedding Modelを提供しています。

OpenAIの text-embedding-3-large, Googleのgemini-embedding-001をはじめとして、Cohere, Voyage AI, Mistral AI, Jina AI  等、多くのAIベンダーから多くのembeddingモデルが公開されています。オープンソースのHugging FaceのBGE(Beijing Academy of AI)もよく利用されているようです。

embedding体験入門

↑ 見出しクリックでpdfへ

Amazon レビュー情報からの意味的検索

データを準備する

↑ 見出しクリックでpdfへ

embeddingを利用したテキストの意味的検索

↑ 見出しクリックでpdfへ

Part 3 embeddingと検索技術の新しい展開

文字列検索と画像検索

↑ 見出しクリックでpdfへ

Vector Search の紹介

↑ 見出しクリックでpdfへ

マトリョーシカ −− embedding技術の革新

↑ 見出しクリックでpdfへ

Adaptive Classification

↑ 見出しクリックでpdfへ

Adaptive Retrieval

↑ 見出しクリックでpdfへ

今後のセミナーについて

前回のセミナーと今回のセミナーと合わせて、次のようなセミナーを開催することになります。準備中のセミナーを分割したので、それぞれのまとめページを別個に作成しました。下のセミナー・タイトルのクリックで、それぞれのセミナーのまとめページにジャンプできます。

「embeddingの共有・蓄積・検索の未来」

embedding技術が可能とする情報の共有と情報の蓄積と検索の未来について考えます。

“Next token prediction” 描像を超えて

“Next token prediction”のみかけ上の単純さの背後には、embeddingに表現される複雑な「意味の世界」が隠れています。

下の画像クリックで、それぞれのセミナーのまとめページにジャンプできます。