🚀 RedPajama-INCITE-7B-Chat
RedPajama-INCITE-7B-Chatは、Togetherと、Ontocord.ai、ETH DS3Lab、AAI CERC、モントリオール大学、MILA - ケベックAI研究所、スタンフォード大学基盤モデル研究センター(CRFM)、スタンフォード大学Hazy Research研究グループ、LAIONを含むオープンソースAIコミュニティのリーダーによって開発されました。
このモデルは、OASST1とDolly2でファインチューニングされ、チャット能力が強化されています。
🚀 クイックスタート
このモデルでは、transformers
バージョンが4.25.1以上が必要です。
チャットモデルにプロンプトを与えるには、以下の形式を使用してください。
<human>: [命令文]
<bot>:
✨ 主な機能
GPU推論
これには16GBのメモリを持つGPUが必要です。
GPUでのInt8推論
これには12GBのメモリを持つGPUが必要です。
CPU推論
CPUでも推論が可能です。ただし、LayerNormKernelImpl
がCPUのfp16では実装されていないため、CPU推論ではbfloat16
を使用します。
📦 インストール
GPUでのInt8推論を行う場合、accelerate
とbitsandbytes
をインストールする必要があります。以下のコマンドでインストールできます。
pip install accelerate
pip install bitsandbytes
💻 使用例
基本的な使用法
import torch
import transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
MIN_TRANSFORMERS_VERSION = '4.25.1'
assert transformers.__version__ >= MIN_TRANSFORMERS_VERSION, f'Please upgrade transformers to version {MIN_TRANSFORMERS_VERSION} or higher.'
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat", torch_dtype=torch.float16)
model = model.to('cuda:0')
prompt = "<human>: Who is Alan Turing?\n<bot>:"
inputs = tokenizer(prompt, return_tensors='pt').to(model.device)
input_length = inputs.input_ids.shape[1]
outputs = model.generate(
**inputs, max_new_tokens=128, do_sample=True, temperature=0.7, top_p=0.7, top_k=50, return_dict_in_generate=True
)
token = outputs.sequences[0, input_length:]
output_str = tokenizer.decode(token)
print(output_str)
"""
Alan Mathison Turing (23 June 1912 7 June 1954) was an English computer scientist, mathematician, logician, cryptanalyst, philosopher, mathematician, and theoretical biologist.
"""
高度な使用法
GPUでのInt8推論
import torch
import transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
MIN_TRANSFORMERS_VERSION = '4.25.1'
assert transformers.__version__ >= MIN_TRANSFORMERS_VERSION, f'Please upgrade transformers to version {MIN_TRANSFORMERS_VERSION} or higher.'
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat", device_map='auto', torch_dtype=torch.float16, load_in_8bit=True)
prompt = "<human>: Who is Alan Turing?\n<bot>:"
inputs = tokenizer(prompt, return_tensors='pt').to(model.device)
input_length = inputs.input_ids.shape[1]
outputs = model.generate(
**inputs, max_new_tokens=128, do_sample=True, temperature=0.7, top_p=0.7, top_k=50, return_dict_in_generate=True
)
token = outputs.sequences[0, input_length:]
output_str = tokenizer.decode(token)
print(output_str)
"""
Alan Mathison Turing (23 June 1912 – 7 June 1954) was an English computer scientist, mathematician, logician, cryptanalyst, philosopher, and theoretical biologist.
"""
CPU推論
import torch
import transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
MIN_TRANSFORMERS_VERSION = '4.25.1'
assert transformers.__version__ >= MIN_TRANSFORMERS_VERSION, f'Please upgrade transformers to version {MIN_TRANSFORMERS_VERSION} or higher.'
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/RedPajama-INCITE-7B-Chat", torch_dtype=torch.bfloat16)
prompt = "<human>: Who is Alan Turing?\n<bot>:"
inputs = tokenizer(prompt, return_tensors='pt').to(model.device)
input_length = inputs.input_ids.shape[1]
outputs = model.generate(
**inputs, max_new_tokens=128, do_sample=True, temperature=0.7, top_p=0.7, top_k=50, return_dict_in_generate=True
)
token = outputs.sequences[0, input_length:]
output_str = tokenizer.decode(token)
print(output_str)
"""
Alan Mathison Turing, OBE, FRS, (23 June 1912 – 7 June 1954) was an English computer scientist, mathematician, logician, cryptanalyst, philosopher, and theoretical biologist.
"""
📚 ドキュメント
モデルの詳細
属性 |
详情 |
開発者 |
Together Computer |
モデルタイプ |
言語モデル |
言語 |
英語 |
ライセンス |
Apache 2.0 |
モデル説明 |
69億パラメータの事前学習言語モデル |
利用方法
直接利用
以下に除外される利用方法について説明します。
誤用、悪意のある利用、範囲外の利用
エンドユーザーは、モデルを責任ある倫理的な方法で使用することを保証する責任があります。
範囲外の利用
RedPajama-INCITE-7B-Chat
は言語モデルであり、意図された範囲外の他のユースケースではうまく機能しない場合があります。
たとえば、安全上重要なアプリケーションや、個人や社会に重大な影響を与える決定を行うために使用するのに適していない場合があります。
モデルの制限を考慮し、意図された目的のためにのみ使用することが重要です。
誤用と悪意のある利用
RedPajama-INCITE-7B-Chat
は言語モデリング用に設計されています。
モデルを違法または非倫理的な活動に利用するなどの誤用は、厳しく禁止されており、プロジェクトの原則に反します。
モデルを使用して個人に残酷な内容を生成することは、このモデルの誤用です。これには、以下が含まれますが、これらに限定されません。
- 偽のニュース、誤情報、または宣伝を生成する
- 個人またはグループに対する憎しみの言葉、差別、または暴力を宣伝する
- 本人の同意なしに個人または組織をなりすます
- サイバーいじめや嫌がらせを行う
- 中傷的な内容
- スパムまたは詐欺
- 適切な許可なしに機密または敏感な情報を共有する
- モデルまたはそれを訓練するために使用されるデータの利用規約に違反する
- マルウェアの拡散、フィッシング詐欺、またはスパムなどの悪意のある目的のために自動ボットを作成する
制限事項
RedPajama-INCITE-7B-Chat
は、他の言語モデルと同様に、考慮すべき制限があります。
たとえば、モデルは常に正確または関連性のある回答を提供するとは限らず、特に複雑であいまいな質問や、訓練データの範囲外の質問に対してはそうです。
したがって、個人や組織からの貢献を歓迎し、より堅牢で包括的なチャットボットを作成するための協力を奨励します。
訓練
訓練データ
togethercomputer/RedPajama-Data-1Tを参照してください。
訓練手順
- ハードウェア: 8台のA100
- オプティマイザー: Adam
- 勾配累積: 1
- トークン数: 7900万トークン
- 学習率: 1e-5
コミュニティ
Together Discordで私たちに参加しましょう。
📄 ライセンス
このモデルはApache 2.0ライセンスの下で提供されています。