---
title: 第193回 雲勉 生成 AI の『技術』を知る〜 魔法の正体は、計算だった 〜
tags:  #ai #生成 #生成ai #とは #仕組み #tensorflow #chatgpt #rag #model #finetuning  
author: [雲勉.iret](https://www.docswell.com/user/kumoben_iret)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/LE3W68P4E5.jpg?width=480
description: 【概要】 生成 AI は魔法でも知能でもなく、複数の数値計算が組み合わさったパイプライン処理です。 本セッションでは、KDDIアイレット株式会社のセキュリティエンジニア・しろうさが、ChatGPT 登場以前から TensorFlow で多層ニューラルネットワークに触れてきた経験をもとに、生成 AI の裏側を技術的に解説します。  勉強会動画は下記からご視聴いただけます！ https://youtu.be/z2_M-XIQ9f8
published: July 07, 26
canonical: https://www.docswell.com/s/kumoben_iret/KE19EN-2026-07-07-151524
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/LE3W68P4E5.jpg)

第 193 回 雲勉
生成 AI の『技術』を知る
〜 魔法の正体は、計算だった 〜
しろうさ
KDDIアイレット株式会社


# Page. 2

![Page Image](https://bcdn.docswell.com/page/8EDKVML57G.jpg)

あなたにとって、生成 AI は何ですか？
魔法
自分の欲しいものを言葉ひとつで生み出せる魔法
知能
人間のように考え、答えを導き出す知能
Cloud API
世界中のどこからでも呼び出せる知のインフラ
数値計算
膨大な数値の演算が、意味ある言葉に変わる計算
見え方が違えば、使い方も違う。
あなたは、どこまで見えていますか？
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/V7PKVR2DJ8.jpg)

Profile
しろうさ
なかむら
まさと
中村 昌登
KDDIアイレット株式会社
セキュリティ事業部 セキュリティエンジニア
経歴
ボーダーコリー大好き (ステラくん 4才)
セキュリティエンジニアです。
最近は、生成 AI にハマっています。
あと、最近は某学園でアイドルプロデューサー中
shirousa_tan
第001124号


# Page. 4

![Page Image](https://bcdn.docswell.com/page/2JVVZRDGJQ.jpg)

なんでセキュリティエンジニアが？
答え、
ChatGPT の登場前から、TensorFlow で遊んでたから
TensorFlow: 多層ニューラルネットワークのフレームワーク
ところで、テンソルフローと読むのが正式らしい。
だから今、裏側が見える。分かる。
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/5EGL4MVDJL.jpg)

目次
1 見え方の違い
2 Model は何をしているのか
3 RAG は何をしているのか
4 Fine-tuning は必要か？
5 まとめ
※ 今回の登壇は、言語 Model に特化して話します。 画像などは登壇に含めません。
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/4JQYGR6X7P.jpg)

1. 見え方の違い


# Page. 7

![Page Image](https://bcdn.docswell.com/page/K74W5842E1.jpg)

見え方の違いが生むもの
見え方の違いは、使い方の違いに直結する
魔法
生成 AI を使う。楽しむことができる。
知能
生成 AI を活用する。自分の支援として AI を使える。
Cloud API
生成 AI を組み込む。新しいサービスとして提供できる。
数値計算
生成 AI を計算とみる。計算に基づくチューニングができる。
だから、裏側を知ることが重要
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/LJ1YW24KEG.jpg)

一般的な生成 AI の理解
一般的に象徴化された 生成 AI は下記のように見えています
Cloud
Gemini
ユーザー
AI agent
Model
Anthropic
Document
RAG
Manual
Search
Web Site
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/GJWG6RXP72.jpg)

2. Model は何をしているのか


# Page. 10

![Page Image](https://bcdn.docswell.com/page/4EZLYR6673.jpg)

Model パイプラインの全体
Model
入力文字列を
Token に変換
Vector 空間写像
Tokenizer
Embedding
Transformer
Softmax
多層NN
確率分布を作成
Detokenizer
Sampling
Token から
出力文字列に変換
次の Token を確定
規定のサイズまでループ処理
考えているのではなく、選んでいる
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/Y76WDR2L7V.jpg)

Tokenizer とは
文字列を Token ID の配列に変換する。いかに単語と対応させられるかが精度のカギ
■
Tokenizer とは
≫
≫
≫
•
N-gram 方式
≫
≫
≫
•
日本語など、分かち書きがされない文書向け。
単語を N (3) などの単位で区切り、Token に変換する。
意味の単位で区切ることができず、表現が揺らぐ。
分かち書き方式
≫
≫
•
文字列から、意味の単位である Token へ分割する作業。
後段の処理では、Token 配列として処理が実施される。
Tokenizer はいくつかの方法が存在する。
英語など、スペースで分かち書きされる文書向け。
単語ごとに Token に変換するため、単語との対応精度が高い。
辞書方式
≫
≫
文頭から辞書で当てていき、形態素解析を行う方法。
未知語や、正しくない文法に弱いため、LLM Model では最近はあまり行われない。
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/G75M382M74.jpg)

Tokenizer - サブワード学習
頻出語彙というパラメータで、 Token 自体を学習する
■ サブワード学習とは
≫
≫
≫
•
特徴
≫
≫
≫
•
Tokenizer 処理を、大量の学習データ自体から学習する方式。
Token の頻度マップを用いて、頻出単語として処理する方法。
マルチ言語系 LLM で用いる昨今の主流な方式である。
頻出な語彙を 1 Token として学習する。
特定の言語 (英語 / 日本語) に依存せずに Tokenize が可能となる。
Byte-level BPE の場合、未知語が原理的に発生しない。
課題
≫
分かち書きを前段処理として実施している場合、
マルチバイト文字は Tokenize の分割精度が下がる。
➢ 日本語は英語と比べて Token 消費数が多くなる。
➢ 語彙が複数 Token に分割されるため、推論の精度が下がる。
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/9J29ZK4RER.jpg)

Embedding とは
Token ID を多次元ベクトルに写像する。意味が近い単語は空間上でも近くなる
■ Embedding とは
≫ ベクトル空間に対する Vector 配列の写像
≫ Vector 配列を、一定の意味へ変換する作業。
≫ RAG などは、Embedding 写像を基に実施される。
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/DEY4RNM5JM.jpg)

Transformer とは
ベクトルを文脈を加味して変換する多層構造。これが「理解」の正体である
■
Transformer とは
≫
≫
≫
•
構造
≫
≫
≫
•
入力層・中間層・出力層からなるニューラルネットワーク。
複数の中間層 (隠れ層) で、重み付け Map として処理されます。
レイヤーを経由するごとに、複数の重みが計算されます。
中間層とは
≫
≫
•
いわゆる多層ニューラルネットワークによる意味付け。
重み付け Map がいわゆる学習済みデータであり、知性の根源となる。
複数のニューラルネットワークを経由することで、Map を出力する。
中間層で「どの Token に注目するか」を重み付けする仕組み。
文脈に応じて同じ単語でも異なる意味として処理できる根拠。
出力とは
≫
出力層の出力を Softmax 処理に送ることで、Token 確率に変換される。
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/VJNYDXW478.jpg)

Softmax とは
多層 NN の出力から、各 Token の存在確率に対する変換
■ Softmax とは
≫ 計算された 多層NN の Map から、各 Token の確率分布へ変換する。
≫ 出力から特定の結果を『選ぶ』ことはしない。
あくまでも、存在確率という計算のみ。
•
出力の役割
≫ Softmax は「確率分布を作る」
≫ Sampling は「その分布から選ぶ」
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/YE9PG8X4J3.jpg)

Sampling とは
生成とは確率分布からのサンプリング。「考えている」のではなく「選んでいる」
■ Sampling とは
≫ 各 Token の存在確率と、パラメータから次の Token を選択する。
≫ 乱数要素が加わり、毎回異なる結果になるのはSampling による。
≫ 代表的なパラメータとしては下記の通り。
•
Temperature (温度)
≫ 計算の初期に激しく動く要素。
≫ 焼きなまし法から着想を得ており、温度が高いときに結果が分散しやすい。
(冶金学の言葉 )
≫ 値が大きいほど、部分最適でない答えが出やすい。
•
Top-k / Top-p
≫ 計算過程で切り捨てるしきい値。
≫ 値が大きいほど、突拍子もない答えが出やすい。
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/GE8DV82VED.jpg)

Detokenizer とは
Detokenizer は、Tokenizer の逆関数
■ Detokenizer とは
≫ Token 配列から、文字列に変換する作業。
≫ 基本的には、Tokenizer の逆関数である。
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/LELM5R2R7R.jpg)

Model パイプラインのまとめ
Model は、複数の数値計算が組み合わさったパイプライン処理である
■ Model とはなにか
≫ AI の話題になると、学習 (多層 NN) の話題が目立つ。
≫ 学習は LLM Model の1要素でしかなく、Tokenizer や Sampling も重要。
•
Tokenizer の理解
≫ なぜ、『日本語』よりも『英語』のほうが精度が出るのか？
≫ なぜ、URL や ID などが途中で違うものとして捉えられるのか？
•
Sampling の理解
≫ なぜ、ハルシネーションが発生するのか？
≫ なぜ、突拍子もない回答を生成AI が返してくるのか？
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/4JMY3R8PJW.jpg)

3. RAG は何をしているのか


# Page. 20

![Page Image](https://bcdn.docswell.com/page/PJR9QR5Y79.jpg)

RAG とは
RAG は『外部知識』の活用である
Retrieval
ユーザーからの質問に関連する情報を、外部の知識ベースから探索
Augmented
検索で見つけた参考情報とユーザーの質問を結合する
Generation
生成 AI が回答を生成する
一般的な手法
Vector DB Query
Structured Navigation
Vector DB を用いて、『距離計算』によって値を探索する。 (狭義のRAG)
Directory 構造を用いて、ファイルを探索する。
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/PEXQ5RK4JX.jpg)

RAG の使い分け、どうする？
Vector DB Query と Structured Navigation は、どちらを使うべき？
Vector DB Query
大量のデータから、最も近い Chunk を抜き出せる。
本の索引を用いて、言及している箇所を探すような Index 型の探索。
そのため、索引が引かれていない場所を探すことはしないし、
文書全体のいち部分だけ読むので、解釈を誤ることも発生する。
Structured Navigation
構造化されたデータから、最も重要な文書にたどり着ける。
本の見出しを用いて、該当の章を探すようなドリルダウン型の探索。
そのため、どこに書かれているか分かれば、その章全体を理解できる。
ただし、他の章で言及されているような箇所は引き出せない。
特徴が違う ニーズに合わせて使い分けを
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/3EK96R5PED.jpg)

Vector DB Query
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/L73W68K475.jpg)

Vector DB Query の全体
Vector DB Query はコンテキストとは異なり、データベースに対する探索である
Vector Store
Embedding Model
保管
Tokenizer
Embedding
参照
Tokenizer
Embedding
Data
Data
Query
Embedding の写像を用いて探索する技術
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/87DKVM35JG.jpg)

Vector DB とは
Vector DB は Vector データの取り扱いが可能な DBMS
■ Vector DB とは
≫ 普通のデータベースに追加し、Vector 保管と Query に対応したもの。
≫ Vector to Vector の変換や、内積、コサイン類似度などの計算に対応。
≫ 計算量が多くなるため、スケーラブルなDB との相性が良い。
•
どのように探索する？
(PostgreSQL / Firestore / etc.)
≫ 検索文字列を Embedding して、ストアされた Vector と比較する。
≫ 内積、コサイン類似度、ユークリッド距離など、
用いる方法は Embedding 特性に依存。
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/VJPKVR4DE8.jpg)

よくあるミスと、対処方法
よくあるミス
対処方法
探索に引っかからない
格納時と、探索時で Embedding Model が異なる。
Vector DB では、同一の Model を利用して探索しなければならない。
探索の精度が不十分
Model に合致した次元数、ベクトル計算を選択していない。
Model 情報から、次元数と計算方法を参照して利用する。
古い情報が探索される
全情報をフラットに探索していることが原因。
Index により、事前のフィルタを実施するなどの対策が必要。
メタデータが紛失する
Document Split 時や格納時の設計ミスが原因。
原則的には、探索時の Document chunk 以外はないものとして扱われる。
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/2EVVZRXGEQ.jpg)

Structured Navigation
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/57GL4MRDEL.jpg)

Structured Navigation の全体
Structured Navigation は、人間が行うようなディレクトリ探索である
Package Directory
参照
Agent
Package Directory
AGENT.md
MANUALS
○○○.md
ファイルの中身を確認し
順次フォルダを探索
TASKS
○○○.md
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/4EQYGRVXJP.jpg)

Structured Navigation とは
Structured Navigation は、Agent を用いた探索である
■ Structured Navigation とは
≫ ディレクトリに構造化されたファイルを保管し、参照する。
≫ 全てを網羅的に探索するわけではないので、適切な構造化が重要。
•
どのように探索する？
≫ あらかじめ決められた Entrypoint から探索を開始し、
Markdown の内容を読みながら順次探していく。
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/KJ4W58M271.jpg)

よくあるミスと、対処方法
よくあるミス
対処方法
探索に引っかからない
Agent がドキュメントを見つけられていない。
見つからない文書は、存在していないと同義。
検索の精度がでない
Agent がドキュメントを正しく探索できていない。
Navigation を用意するなど、どこを見るべきか判断可能にする。
検索が遅い
仕組み上、Agent が逐次探索するため検索は Vector DB に対して低速。
ファイルが読まれない
Document が超大だったり、バイナリだったりするものは取り扱いが不得手。
基本は Prompt に入るサイズの Markdown である必要がある。
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/LE1YW28K7G.jpg)

4. Fine-tuning は必要か？


# Page. 31

![Page Image](https://bcdn.docswell.com/page/GEWG6RZPJ2.jpg)

Fine-tuning より、新 Model に乗れ
Fine-tuning が必要だった場面の多くは、今は別の手段で解決できる
特定ドメインの知識
『RAG』 による裏付けのある回答
出力フォーマットの固定
『Structured Output』 出力の固定
振る舞いの調整
『System Prompt』による振る舞いの調整
入出力の規制
『AI Guardrails』による入出力の規制
Fine-tuning のニーズは失われつつある
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/47ZLYR16J3.jpg)

投資対効果の悪化
Fine-tuning のコストは回収がほぼ不可能に
基礎 Model 性能向上
Model 学習費用
Fine-tuningした独自モデルも最新モデルに負けるケースが多い
大量の教師データ、 GPU 計算時間を必要とする
ただし、すべての Fine-tuning が不要になったわけではない。
特定用途に限り、『 LoRA』 は現在も有効な選択肢である。
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/YJ6WDRLLJV.jpg)

LoRA
Base Model から、差分を抽出する LoRA (Low-Rank Adaptation)
■ LoRA とはなにか
≫ Base Model に対して、『低ランク行列』を追加する Fine-tuning。
≫ Base Model から特定の『特徴』を抽出することに特化している。
•
活用例
≫ Base Model 全体から、特定の知識のみに限定する。
≫ Illustration Model から、キャラクターに対する特徴を抽出する。
•
利用に関する特徴
≫ 少ない教師データ
≫ 少ない学習コスト
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/GJ5M381MJ4.jpg)

5. まとめ


# Page. 35

![Page Image](https://bcdn.docswell.com/page/LE3W6819E5.jpg)

生成 AI を計算として見ると分かること
抽象レイヤーの下を知ることで、設計判断・障害対応・技術選定の質が変わる
正しい技術選定
ニーズに対して、適切な技術選定が可能になる
正しいトラブルシュート
トラブル時に、原因の根幹を推察可能となる
性能向上
適切なコスト管理
生成 AI の性能を引き出すパイプラインを考えられる
TCO を最小化するため選定が可能になる
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/8EDKVMX87G.jpg)

生成 AI とは
生成 AI は複雑な計算パイプライン処理
生成 AI サービス
質問
ここがブラックボックスでよいのは利用者だけ
エンジニアは、裏側を知らなくてはならない
Tokenizer
Transformer
RAG
Sampling
Fine-tuning
答え
36


