「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
OSS(オープンソース)のLLMは、ローカルマシンやオンプレミス環境で動作可能なものが多く、
クラウドサービスに依存せずに利用でき、機密情報を扱うクローズドな環境でも安全に導入できる。
詳細 †
注意点 †
ライセンスの確認 †
- ライセンス形態を確認し、商業利用や再配布の条件を理解。
- ライセンス条項を確認しプロジェクトやビジネスへの適用可能性を評価。
※ OSSのライセンス
コミュニティの活発度 †
コミュニティの活動状況を確認。
- 活発なコミュニティは、
- 質問やサポートを得易い。
- バグ修正や機能改善が迅速に行われる可能性が高い。
ベンチマークと評価 †
- 性能を評価するためのベンチマークテストを実施。
- 既存のベンチマーク結果や評価レポートを確認
- 自社の使用ケースに対する適用性を検討。
性能とスケーラビリティ †
- 項目
- モデルの性能(応答速度、精度)
- スケーラビリティ(負荷分散、水平スケーリング)
ハルシネーション・バイアスなど †
- LLMの生成する出力が虚偽情報や偏見を含む可能性があるため注意。
- これらの問題を緩和するための対策(フィルタリング、ポスト・プロセッシングなど)を講じる。
メンテナンスとサポート †
OSS LLMのメンテナンス体制とサポート体制を確認。
- 商用版のサポートがあるか?
- 開発が活発に行われているか?
- バグフィックスやセキュリティ・アップデートが定期的に提供されているか?
カスタマイズの容易さ †
- 自社のニーズに合わせたカスタマイズの容易さを評価。
- 開発が簡単かどうかを確認
- コードの理解し易さ
- ドキュメントの充実度
- プラグインやエクステンション
データ保護 †
モデルのトレーニングや推論に使用するデータの保護を確認。
- 著作権侵害や情報漏洩に繋がらないように対策が施されていることを確認
- なお、アクセス制御、セキュリティ対策は構築で確保する。
モデル †
Llama †
- Metaによって開発、リコーなどで導入事例あり。
- 事前学習済みのLlamaを動かす情報はネットにも確認できる。
Gemma †
- Googleによって開発、企業での導入事例は発見できず。
- 事前学習済みのGemmaを動かす情報はネットにも確認できる。
Phi-3 †
- MicrosoftがSLM(Small Language Model)として開発したPhi-3、企業での導入事例は発見できず。
- 事前学習済みのPhi-3を動かす情報はネットにも確認できる。
Mixtral †
- Mistral AIによって開発、SB、楽天、トヨタなどで導入事例あり。
- 事前学習済みのMistral AIを動かす情報はネットにも確認できる。
Falcon †
アブダビのTechnology Innovation Institute(TII)によって開発
BLOOM †
BigScience?という協力的AI研究ワークショップによって開発
EleutherAI †
草の根の非営利の人工知能研究グループによって開発
Qwen2 †
- アリババによって開発、企業での導入事例は発見できず。
- 事前学習済みのQwen2を動かす情報はネットにも確認できる。
CodeGen? †
Salesforceが提供するLLM
Databricks †
AI/BI系のプラットフォームベンダで、色々なOSSをホストしている。
周辺SDK的な †
- 破壊的に変更によりコードがすぐに動かなくなる。
- ネットやGPTの情報より、公式サイトの当該バージョンの情報(≒一次情報)を当たると良い。
フレームワーク †
- LangChain
- LLMを自作プログラムの実行環境と接続するライブラリ
- プロンプトに、Chat履歴を含めたり、RAGをしたりするのに必要。
- LlamaIndex
- RAGなどのインフラを構築する。
- LLMと外部データを接続するためのI/Fを提供
- テキストをある単位でチャンク分割する処理を行う。
- 以下のような処理も追加されつつある模様。
- エージェントの構築
- ワークフローの構築
- 構造化データ抽出
- AutoGen
- LLMマルチ・エージェント・システムを構築するためのOSSフレームワーク
- 複数のLLMエージェントが相互作用する仕組みで遂行能力の向上が期待される。
ローコード †
フロントアプリ作成(データパイプラインの構築と管理)をサポートするローコード・ツール
検環 †
Open WebUI †
Pythonで実装されており、モデル設定のURLからサーバサイドで実行されている事が解る。
インストール †
動作確認 †
- 以下のURLにアクセスすると(何故か)WLS2上のOllamaにアクセスできる。
http://127.0.0.1:5955/
Streamlit †
StreamlitはPythonアプリ(CLI)を迅速にWeb化するツール。
標準I/Oへ書き込むのではなくAPIを使用して専用のStreamへの書き込む。
インストール †
- インストールして
pip install streamlit
動作確認 †
- UIにアクセスする。
http://localhost:8501/
Chainlit †
インストール †
動作確認 †
VM費用見積もり †
稼働時間 †
5(営業日/週) * 4(週/月)* 3(時間/日)= 60(時間/月)で見積もり
※ 1か月フル稼働は730時間なので30/730=0.04ヵ月分(つまり、以下の「/月」は、=0.04ヵ月分)
VMサイズ †
- LLaMA 3 1B、Phi-3はノートPCでも動作する。
- LLaMA 3 8Bに必要なVMサイズは、
- AWSでg4dn.xlarge、AzureでNC4as_T4_v3辺りで、
- NC4as_T4_v3 - NC16as_T4_v3辺りで見積もると、0.5-1万/月程度、
- これは一か月上げっぱなすと10-20万
- 小さなモデルをファインチューニングをする場合、
- 24GBほどのVRAMが必要で、
- AzureでNC6s_v3や、NC24ads_A100_v4位のスペックが必要。
- NC6s_v3だと2万、NC24ads_A100_v4だと2.5万/月(これも行けそう)
- これは一か月上げっぱなすと50-60万
- LLaMA 3 70Bを稼働させる場合、
- AWSでg5.xlarge、AzureでND96asr_A100_v4辺り
- ND96asr_A100_v4だと10万/月(無理(笑))
- これは一か月上げっぱなすと250万
- A100は1枚で$11,000(約163万円)
付帯費用 †
Azureバッション2万/月
実費総額 †
コレはミニマム環境なので、予算としては、5万/月ほどあると良さそう。
研究 †
ローカルRAG †
LlamaIndexを使うか、NoSQLの機能を使用する(古くはElasticsearchなどあるが、ベクトル検索、グラフ検索に対応した新しいものが出てきている)。
ファイン・チューニング? †
LLMの新規作成時にタスクへ適応させるためのFT(GPT-n、BERT)ではなく、作成後のLLMの精度を上げるために行われるFTについて言及
参考 †
Ollama †
Ubuntu †
Windows †
LLM †
Llama、Gemma、phiなどがある。
Python Library †
Ollama †
フレームワーク †
UI †
Open WebUI †
Ollama-ui †
Streamlit †
ローコード †
Dify †
... †
ファイン・チューニング †
LoRA †
VM費用見積もり †
- AWS:g4dn.xlarge、Azure:NC4as_T4_v3 (¥91/時)
- ColabのGPU → A100は、AzureのNC_A100_v4シリーズ、NC24ads_A100_v4相当(¥682/時)