【LLM】オープンソースローカルLLM
Huggingfaceで随時確認しよう.
代表的なものをChatGPTの出力より紹介しておく:
ローカル環境で開発可能な軽量かつオープンソースのLLMをいくつか紹介します。以下のモデルは、比較的小さな容量で動作し、オープンソースとして自由に利用・カスタマイズが可能です。
1. Mistral 7B
• 特徴:
• パラメータ数: 7B(70億)
• 高性能で最新の軽量LLM。
• 他の7Bモデルと比較して優れた性能を持つ。
• オープンソースとして公開されており、商用利用も可能。
• 必要スペック:
• 約16GBのGPUメモリで動作可能(4-bit量子化を適用すれば8GBでも動作)。
• 用途: 一般的な文章生成や簡単な推論タスク。
GitHub: Mistral Models
2. LLaMA 2 (7B)
• 特徴:
• Metaが提供するLLMで、7B(70億パラメータ)は比較的軽量。
• オープンソースライセンス(研究および一部商用利用可能)。
• 活発なコミュニティによってカスタマイズされた派生モデルも多い。
• 必要スペック:
• 約14GBのGPUメモリが必要(4-bit量子化で8GB程度まで削減可能)。
• 用途:
• チャットボット、要約、質問応答などの幅広いタスク。
GitHub: LLaMA 2
3. GPT-NeoX (6B)
• 特徴:
• EleutherAIが開発した完全オープンソースのLLM。
• 6B(60億パラメータ)のモデルは、比較的軽量かつ高性能。
• ローカル環境で動かすためのドキュメントやチュートリアルが充実。
• 必要スペック:
• 約12GBのGPUメモリ(量子化で軽量化可能)。
• 用途:
• 自然言語生成、文書分類、翻訳。
GitHub: GPT-NeoX
4. GPT-J (6B)
• 特徴:
• EleutherAIによる6Bパラメータのオープンソースモデル。
• コード生成やテキスト生成で高いパフォーマンスを発揮。
• 学術的および商用プロジェクトでも利用可能。
• 必要スペック:
• 約12GBのGPUメモリ(量子化後は少ないリソースで動作可能)。
• 用途:
• カスタムチャットボットや生成タスク。
GitHub: GPT-J
5. BLOOM (3B, 7B)
• 特徴:
• BigScienceプロジェクトが開発した多言語対応のLLM。
• 特に3Bや7Bバージョンは軽量で、ローカル開発に適している。
• 多言語対応で、日本語の処理も得意。
• 必要スペック:
• 3B版: 約6GBのGPUメモリで動作可能。
• 7B版: 約14GBのGPUメモリが必要。
• 用途:
• 日本語対応のタスク、多言語翻訳、質問応答。
GitHub: BLOOM
6. Alpaca (7B)
• 特徴:
• LLaMA 7Bを元に微調整された軽量モデル。
• 教育・研究向けのシンプルなカスタマイズが可能。
• ローカル環境で簡単に動作。
• 必要スペック:
• 約14GBのGPUメモリ(量子化で8GB程度)。
• 用途:
• 簡単な対話型アプリや教育用途。
GitHub: Alpaca
7. DistilGPT-2
• 特徴:
• GPT-2を小型化したモデル(約1.5億パラメータ)。
• 非常に軽量で、CPUのみの環境でも動作可能。
• 高度なタスクには向かないが、簡単なテキスト生成に最適。
• 必要スペック:
• CPUまたは4GB以下のGPUメモリ。
• 用途:
• 簡単な生成タスクや学術研究。
GitHub: DistilGPT-2
軽量化と効率化のためのヒント
1. 量子化(Quantization):
• モデルを4-bitや8-bitに量子化することで、メモリ消費を大幅に削減。
• ツール例: GPTQ
2. 最適化フレームワーク:
• ONNX RuntimeやGGMLで効率的に推論を実行。
3. LoRA(Low-Rank Adaptation):
• 微調整にLoRAを使用すると、追加のストレージ消費を抑えつつカスタマイズ可能。
これらのモデルはローカル環境で扱いやすく、特に量子化や効率化ツールを使うことで開発環境をさらに最適化できます。