「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
詳細 †
注意点 †
ライセンスの確認 †
- ライセンス形態を確認し、商業利用や再配布の条件を理解。
- ライセンス条項を確認しプロジェクトやビジネスへの適用可能性を評価。
※ OSSのライセンス
コミュニティの活発度 †
コミュニティの活動状況を確認。
- 活発なコミュニティは、
- 質問やサポートを得易い。
- バグ修正や機能改善が迅速に行われる可能性が高い。
ベンチマークと評価 †
- 性能を評価するためのベンチマークテストを実施。
- 既存のベンチマーク結果や評価レポートを確認
- 自社の使用ケースに対する適用性を検討。
性能とスケーラビリティ †
- 項目
- モデルの性能(応答速度、精度)
- スケーラビリティ(負荷分散、水平スケーリング)
ハルシネーション・バイアスなど †
- LLMの生成する出力が虚偽情報や偏見を含む可能性があるため注意。
- これらの問題を緩和するための対策(フィルタリング、ポスト・プロセッシングなど)を講じる。
メンテナンスとサポート †
OSS LLMのメンテナンス体制とサポート体制を確認。
- 商用版のサポートがあるか?
- 開発が活発に行われているか?
- バグフィックスやセキュリティ・アップデートが定期的に提供されているか?
カスタマイズの容易さ †
- 自社のニーズに合わせたカスタマイズの容易さを評価。
- 開発が簡単かどうかを確認
- コードの理解し易さ
- ドキュメントの充実度
- プラグインやエクステンション
データ保護 †
モデルのトレーニングや推論に使用するデータの保護を確認。
- 著作権侵害や情報漏洩に繋がらないように対策が施されていることを確認
- なお、アクセス制御、セキュリティ対策は構築で確保する。
プロダクト †
Llama 2 †
- Metaによって開発、リコーなどで事例あり。
- 事前学習済みのLlamaを動かす情報はネットにも確認できる。
Gemma †
- Googleによって開発、事例は発見できず。
- 事前学習済みのGemmaを動かす情報はネットにも確認できる。
Qwen2 †
- アリババによって開発、事例は発見できず。
- 事前学習済みのQwen2を動かす情報はネットにも確認できる。
BLOOM †
BigScience?という協力的AI研究ワークショップによって開発
Falcon †
アブダビのTechnology Innovation Institute(TII)によって開発
EleutherAI †
草の根の非営利の人工知能研究グループによって開発
Mixtral †
Mistral AIによって開発
CodeGen? †
Salesforceが提供するLLM
Databricks †
AI/BI系のプラットフォームベンダで、色々なOSSをホストしている。
Phi3 †
MicrosoftがSLM(Small Language Model)として開発したPhi-3
周辺SDK的な †
フレームワーク †
- LangChain
- LLMを自作プログラムの実行環境と接続するライブラリ
- プロンプトに、Chat履歴を含めたり、RAGをしたりするのに必要。
- Llamaindex
- RAGなどのインフラを構築する。
- LLMと外部データを接続するためのI/Fを提供
- テキストをある単位でチャンク分割する処理を行う。
- Dify
- データパイプラインの構築と管理をサポートするフレームワーク
DB †
RAGを構築するVDB(Embedding用DB)相当
- Elasticsearch
言わずと知れた全文検索エンジン
- FAISS (Facebook AI Similarity Search)
効率的な近似最近傍検索(ANN)アルゴリズムを実装
- Pinecone
キーワード検索とベクトル検索を組み合わせたハイブリッド検索
RAG †
- RAG(Retrieval-Augmented Generation)
- LLMと情報検索を組み合わせた技術。
- 情報取得や質問応答の分野で強力。
機能・コンポーネント †
チャンク(Chunk) †
- Chunkは、大量のデータを小さなSegment(Chunk)に分割する。
- このプロセスにより、特定の情報を検索し易くなる。
- 各Chunkは、独立して検索可能な単位となる。
埋め込み(Embedding) †
- Embeddingは、テキストデータを数値ベクトルに変換するプロセス。
- ベクトル化により、テキストデータの意味的な類似性を計算が容易になる。
- RAGでは、Embeddingを使用して、検索QueryとDB内のChunkとの類似性を計算し、最も関連性の高いChunkを特定する。
検索(Retrieval) †
- 検索部分では、Queryに対して関連性の高い情報をDBから取得する。
- 具体的には、プロンプトに対して最も関連性の高いChunkを検索エンジンや埋め込みベクトルの類似性に基づいて見つけ出す。
生成(Generation) †
生成部分では、ユーザ入力+取得した情報を基に、LLMがユーザーに回答を提供する。
プロセス †
質問の入力(Query Input) †
ユーザーが質問を入力
質問の埋め込み(Query Embedding) †
Embeddingで質問を埋め込みベクトルに変換
情報の検索(Information Retrieval) †
質問の埋め込みベクトルを使用して、DB内の関連Chunkを検索
情報の生成(Information Generation) †
- 検索されたChunkを基にプロンプトを生成
- LLMが生成されたプロンプトを元に回答を生成
回答の提供(Answer Delivery) †
最終的にユーザーに回答を提供
キーワード †
埋め込みベクトル(Embedding Vector) †
Embeddingで、テキストをベクトルに変換した表現方法。
類似性計算(Similarity Calculation) †
埋め込みベクトル間の類似性を内積、距離などで計算するプロセス。
参考 †