Llama 2 7B 32K
モデル概要
モデル特徴
モデル能力
使用事例
## 🚀 LLaMA-2-7B-32K
LLaMA-2-7B-32Kは、Togetherによって開発されたオープンソースの長文脈言語モデルです。MetaのオリジナルLlama-2 7Bモデルをファインチューニングしたもので、大規模言語モデルのオープンソースエコシステムの急速な進歩に貢献するための取り組みの一環です。
## 🚀 クイックスタート
LLaMA-2-7B-32Kを使用するには、以下の手順を参考にしてください。
### 推論
[Together API](https://together.ai/blog/api-announcement)を使用して、LLaMA-2-7B-32Kの推論を試すことができます。更新された推論スタックにより、効率的な推論が可能です。
モデルをローカルで実行するには、Flash Attention V2をインストールすることを強くおすすめします。これは、最高のパフォーマンスを得るために必要です。
Please update the path of CUDA_HOME
export CUDA_HOME=/usr/local/cuda-11.8 pip install transformers==4.31.0 pip install sentencepiece pip install ninja pip install flash-attn --no-build-isolation pip install git+https://github.com/HazyResearch/flash-attention.git#subdirectory=csrc/rotary
このモデルは、Hugging Face Model Hubから直接使用するか、OpenChatKitを使用して独自のデータでファインチューニングすることができます。
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/LLaMA-2-7B-32K")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/LLaMA-2-7B-32K", trust_remote_code=True, torch_dtype=torch.float16)
input_context = "Your text here"
input_ids = tokenizer.encode(input_context, return_tensors="pt")
output = model.generate(input_ids, max_length=128, temperature=0.7)
output_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(output_text)
あるいは、flash attentionを使用しない場合は、trust_remote_code=False
に設定することができます。
ファインチューニング
以下は、特定のアプリケーションに対してモデルをファインチューニングする例です。 サンプルデータセットは、togethercomputer/Long-Data-Collectionsに配置されています。 OpenChatKitを使用して、LLaMA-2-7B-32K上で独自の32Kモデルをファインチューニングすることができます。 詳細な手順については、OpenChatKitを参照してください。
- 長文脈QA 論文「Lost in the Middle: How Language Models Use Long Contexts」の多文書質問応答タスクを例に取ります。モデルの入力は、(i)回答が必要な質問と(ii)Wikipediaから抽出されたk個の文書で構成されています。注目すべきは、これらの文書のうち1つだけが質問の回答を含んでおり、残りのk - 1個の文書は「ディストラクター」文書と呼ばれ、回答を含んでいません。このタスクを成功させるには、モデルは入力コンテキストから回答を含む文書を識別して利用する必要があります。
OCKを使用する場合は、以下のコマンドを実行してファインチューニングします。
bash training/finetune_llama-2-7b-32k-mqa.sh
- 要約 もう1つの例は、長文ナラティブ要約の課題に対処するために設計された独自のデータセットであるBookSumです。このデータセットは、小説、劇、物語などの文学ドメインのソース文書を特徴としており、人間が書いた高度に抽象化された要約を提供します。ここでは、章レベルのデータに焦点を当てています。BookSumは独自の一連の課題を提示し、モデルが各章を包括的に読み通す必要があります。
OCKを使用する場合は、以下のコマンドを実行してファインチューニングします。
bash training/finetune_llama-2-7b-32k-booksum.sh
✨ 主な機能
このモデルには、いくつかの改善点と新機能が導入されています。
- 拡張されたコンテキスト:モデルは最大32Kのコンテキスト長を処理するようにトレーニングされており、以前のバージョンに比べて大幅な改善です。
- 事前学習と命令微調整:事前学習と命令微調整のデータの混合物からなるデータレシピを共有しています。
- ファインチューニングの例:書籍要約や長文脈質問応答などの特定のアプリケーションに対してモデルをファインチューニングする方法の例を提供しています。
- ソフトウェアサポート:推論とトレーニングのスタックを更新して、32Kコンテキストの効率的な推論とファインチューニングを可能にしています。
📚 ドキュメント
モデルの説明
LLaMA-2-7B-32Kは、Togetherによって開発されたオープンソースの長文脈言語モデルです。MetaのオリジナルLlama-2 7Bモデルをファインチューニングしたもので、大規模言語モデルのオープンソースエコシステムの急速な進歩に貢献するための取り組みの一環です。モデルは、位置補間を使用してコンテキスト長を32Kに拡張しており、多文書QAや長文要約などのアプリケーションが可能です。
モデルアーキテクチャ
モデルはLlama-2-7Bのアーキテクチャに従い、より長いコンテキストを処理できるように拡張されています。最近リリースされたFlashAttention-2やその他のさまざまな最適化手法を活用して、推論とトレーニングの速度と効率を向上させています。
トレーニングとファインチューニング
モデルは、事前学習と命令微調整のデータの混合物を使用してトレーニングされています。
- 継続的な事前学習の最初のトレーニングフェーズでは、データ混合物には25%のRedPajama Book、25%のRedPajama ArXiv(要約を含む)、25%のRedPajamaからの他のデータ、および25%のUL2 Oscar Data(OIG(Open-Instruction-Generalist)の一部で、モデルに欠落したチャンクを埋めるか、テキストを完成させるように要求する)が含まれています。長文脈能力を強化するために、2K語未満のデータを除外しています。UL2 Oscar Dataの包含は、モデルが長距離コンテキストを読み、利用するように促すのに効果的です。
- 次に、モデルをファインチューニングして、長文脈下での少ない例での能力に焦点を当てます。これには、20%のNatural Instructions (NI)、20%のPublic Pool of Prompts (P3)、20%のthe Pileが含まれます。すべてのデータをHELMコアシナリオに対して汚染除去しています。モデルには、例を1つの32Kトークンシーケンスにパックすることで、コンテキスト内の例を活用するように教えています。最初のデータから学んだ知識を維持するために、20%のRedPajama-Data Bookと20%のRedPajama-Data ArXivを組み込んでいます。
🔧 技術詳細
モデルはLlama-2-7Bのアーキテクチャに基づいており、長いコンテキストを処理できるように拡張されています。FlashAttention-2やその他の最適化手法を利用して、推論とトレーニングの速度と効率を向上させています。
📄 ライセンス
このモデルのライセンスはLLaMA 2です。
属性 | 详情 |
---|---|
モデルタイプ | オープンソースの長文脈言語モデル |
トレーニングデータ | togethercomputer/RedPajama-Data-1T、togethercomputer/RedPajama-Data-Instruct、EleutherAI/pile、togethercomputer/Long-Data-Collections |
⚠️ 重要提示
すべての言語モデルと同様に、LLaMA-2-7B-32Kは誤ったまたは偏った内容を生成する可能性があります。モデルを使用する際には、この点を念頭に置いてください。
💡 使用建议
モデルをローカルで実行する場合は、Flash Attention V2をインストールすることを強くおすすめします。これは、最高のパフォーマンスを得るために必要です。



