LLM
from 機械学習
- Large Language Models 大規模言語モデル
- 現代のLLMはトランスフォーマーアーキテクチャ
- 日付に弱いのはデータからパターンが出せないものがあるから
- 鈴木さんの誕生日
- Pretraining
- ラベルなしの生のテキストデータ
- LLMでは自己教師あり学習で、入力データからラベルを生成する
- ラベルなしの生のテキストデータ
- Instruction fine-tuning
- インストラクションと答えのペアで構成されたラベル付きデータセット
- 原文と翻訳文
- Classification fine-tuning
- 文章とそれに関連する分類で構成されたラベル付きデータセット
- スパムとそうでないメール
- BERT
- GPTとは異なるトレーニングアプローチ
- 文章からマスクされたり消された単語を推測する
- 文章の分類、感情の予測
- GPT
- 文章生成
- 機械翻訳、要約、フィクション、コード生成
- Transformer
- 内積
- RAG
- Retrieval-Augmented Generation 検索拡張生成
- LLMに情報検索を組み合わせる
- ファインチューニングはモデルに再学習させるのに対し、RAGはAIが参照するデータベース側に手を加える
- AWSでRAG
- Amazon BedrockでKnowledge basesを使う
- S3にPDFなどのデータをアップ
- 埋め込みモデルを設定する
- Cohore Embed
- データを取り込んでベクトル変換
- ベクトルDBを設定する
- Amazon OpenSearch Serverless
- 結構高いので別サービスを検討
- Amazon OpenSearch Serverless
- LLMにDBを参照させて回答を作成させる
- 英語で書かれた履歴書を解釈してプロフィールを返答してくれた
- 埋め込みモデルが多言語対応していれば質問した言語に合わせて翻訳して返してくれる
- 英語で書かれた履歴書を解釈してプロフィールを返答してくれた
- MCP
- Model Context Protocol
- LLMが外部のデータソースやツールと連携するためのプロトコル
- コンテキストウィンドウ
- 入力と出力を合わせたトークンの総枠
- 一度に処理できる上限
- 入力と出力を合わせたトークンの総枠
言語AIの歴史
- Bag-of-Words
- 1950年代からある手法
- 非構造化テキストを数値で表現するための方法
-
- 文を単語やサブワードなどのトークンに分割
- 日本語では形態素解析
- トークナイザー
- 単語トークン
- サブワードトークン
- 完全な単語と単語の一部の組み合わせ
- apology apologize apologetic apologist
- -y -ize -etic -ist
- 完全な単語と単語の一部の組み合わせ
- 文字トークン
- 1文字1トークン
- 新しい単語に対応できる利点
- モデルが複雑になりトークン数が増えてしまう
- バイトトークン
- 多言語に有力
-
- 一意な単語から語彙を作る
-
- 入力された文章に語彙の単語が出現する回数を数える
- ベクトル表現
- 表現モデル
使った感想
- 大抵の問題はモデルの性能で解決する
- 小手先のプロンプトに振り回されない
- 一時期Skillsとかを集めていたが、チャットでもある程度適切なものを探してくれるようになった
- 効いてる効いてないの検証が足りてないかも