🚀 Pythia-Chat-Base-7B-v0.16
Pythia-Chat-Base-7B-v0.16は、EleutherAIのPythia 7Bをベースに、4000万を超える命令でファインチューニングされた70億パラメータの言語モデルです。100%カーボンネガティブなコンピューティング環境で訓練されています。
是非、私たちのOpenChatKitフィードバックアプリを試してみてください!
Pythia-Chat-Base-7B-v0.16は、ElutherAIのPythia-7Bモデルをベースに、対話形式のインタラクションに焦点を当てたデータでファインチューニングされています。質問応答、分類、抽出、要約などのいくつかのタスクに重点を置いて調整しました。4300万の高品質な命令のコレクションを使ってモデルをファインチューニングしました。TogetherはLAIONとOntocord.aiと協力し、これらの組織がモデルのベースとなるデータセットの選定に協力しました。このプロセスとこのデータセットの利用可能性については、LAIONのブログ記事こちらで詳しく読むことができます。
前述のファインチューニングに加えて、Pythia-Chat-Base-7B-v0.16は少量のフィードバックデータを使ってさらにファインチューニングされています。このプロセスにより、モデルは会話における人間の好みにより適応することができます。
Pythia-Chat-Base-7B-v0.16の注目すべき特徴の1つは、量子化技術のおかげで、12GBのGPUで推論を実行できることです。これにより、対話能力を維持しながら、より広範なユーザーとハードウェア構成でモデルを利用できるようになります。
📚 ドキュメント
モデルの詳細
属性 |
详情 |
開発者 |
Together Computer |
モデルタイプ |
言語モデル |
言語 |
英語 |
ライセンス |
Apache 2.0 |
モデルの説明 |
70億パラメータのオープンソースチャットモデル。EleutherAIのPythiaをベースに、4000万を超える命令で、100%カーボンネガティブなコンピューティング環境でファインチューニングされています。 |
詳細情報のリソース |
GitHubリポジトリ |
🚀 クイックスタート
GPUでの推論
これには24GBのメモリを持つGPUが必要です。
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16", torch_dtype=torch.float16)
model = model.to('cuda:0')
inputs = tokenizer("<human>: Hello!\n<bot>:", return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=10, do_sample=True, temperature=0.8)
output_str = tokenizer.decode(outputs[0])
print(output_str)
Int8でのGPU推論
これには12GBのメモリを持つGPUが必要です。
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16", device_map="auto", load_in_8bit=True)
inputs = tokenizer("<human>: Hello!\n<bot>:", return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=10, do_sample=True, temperature=0.8)
output_str = tokenizer.decode(outputs[0])
print(output_str)
CPUでの推論
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16", torch_dtype=torch.bfloat16)
inputs = tokenizer("<human>: Hello!\n<bot>:", return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=10, do_sample=True, temperature=0.8)
output_str = tokenizer.decode(outputs[0])
print(output_str)
モデルの強み
OpenChatKitは、いくつかのタスクでそのままでも優れた性能を発揮します。これには以下が含まれます。
さらに、モデルは少数のプロンプトでも良好な結果を出します。分類と抽出の両方において、ほとんどのHELMタスクのように、少数のショットでモデルはさらに良い性能を発揮します。モデルで少数ショットのプロンプトを試してみたい場合は、お問い合わせください。
モデルの弱点
それでも、改善すべきいくつかの領域があり、あなたの助けが必要です!これらのいくつかは以下の通りです。
- 知識ベースのクローズドな質問応答:チャットボットが幻覚を起こし、誤った結果を返すことがあります。必ず事実を確認し、可能であれば修正された情報を含むフィードバックを提供してください。
- コーディングタスク:チャットボットはコードを書くのに十分なソースコードのコーパスで訓練されていないため、コードを書く能力に優れていません。これを改善するための追加データセットの貢献を歓迎します!
- 繰り返し:時々、チャットボットが応答を繰り返すことがあります。私たちはこれを改善するために取り組んでいますが、それまではリフレッシュボタンをクリックして新しい会話を開始できます。
- コンテキスト切り替え:会話の途中でトピックを変更すると、チャットボットは自動的に切り替えることができず、前のトピックに関連する回答を続けることがあります。
- 創造的な文章作成と長い回答:チャットボットはエッセイや物語などの長い創造的な文章を生成しません。
私たちは、あなたのフィードバックを得て、データセットを強化し、精度を向上させることで、これらの弱点を克服するためにあなたと協力することを楽しみにしています。
用途
直接利用
このモデルは研究目的で使用することを想定しています。可能な研究分野とタスクには以下が含まれます。
- 有害なコンテンツを生成する可能性のあるモデルの安全なデプロイ
- 対話モデルまたは言語モデルの制限とバイアスの調査と理解
- アートワークの生成とデザインやその他の芸術的なプロセスでの利用
- 教育または創造的なツールでのアプリケーション
- 対話モデルまたは言語モデルに関する研究
除外される用途については以下で説明します。
誤用、悪意のある使用、および想定外の使用
OpenChatKitコミュニティは、Pythia-Chat-Base-7B-v0.16をチャットボットを構築するためのオープンソースツールとして提供しています。コミュニティは、モデルの誤用、悪意のある使用、または想定外の使用について責任を負いません。モデルを責任ある倫理的な方法で使用するのは、エンドユーザーの責任です。
想定外の使用
Pythia-Chat-Base-7B-v0.16はチャットボットアプリケーションでの使用を想定して設計されており、想定外の他のユースケースでは必ずしも良好な性能を発揮しない場合があります。たとえば、安全上重要なアプリケーションや個人または社会に重大な影響を与える決定を行うためには適していない可能性があります。モデルの制限を考慮し、想定された目的のためにのみ使用することが重要です。
誤用と悪意のある使用
Pythia-Chat-Base-7B-v0.16はチャットボットアプリケーションでの使用を想定して設計されており、他の目的で使用してはいけません。モデルを違法または非倫理的な活動に使用するなどの誤用は、厳しく禁止されており、OpenChatKitコミュニティプロジェクトの原則に反します。
モデルを使用して個人に対して残酷なコンテンツを生成することは、このモデルの誤用です。これには以下が含まれますが、これらに限定されません。
- 偽ニュース、誤情報、または宣伝の生成
- 個人またはグループに対する憎しみの言葉、差別、または暴力の助長
- 本人の同意なしでの個人または組織のなりすまし
- サイバーいじめまたは嫌がらせ
- 中傷的なコンテンツ
- スパムまたは詐欺
- 適切な許可なしでの機密または敏感な情報の共有
- モデルまたはそれを訓練するために使用されるデータの利用規約の違反
- マルウェアの拡散、フィッシング詐欺、またはスパムなどの悪意のある目的のための自動ボットの作成
制限
Pythia-Chat-Base-7B-v0.16は、他の言語モデルベースのチャットボットと同様に、考慮すべき制限があります。たとえば、モデルは常に正確または関連性のある回答を提供するとは限らず、特に複雑で曖昧な質問や訓練データの範囲外の質問に対してはそうです。したがって、個人や組織からの貢献を歓迎し、より堅牢で包括的なチャットボットを作成するための協力を奨励します。
訓練
訓練データ
詳細はtogethercomputer/OpenDataHubを参照してください。
訓練手順
- ハードウェア:8台のA100 GPU
- オプティマイザ:8bit-AdamW
- 勾配蓄積:4
- バッチ:4 x 4 x 16 x 2048 = 524288トークン
- 学習率:100ステップで1e-5までウォームアップし、その後一定に保つ
👥 コミュニティ
Together Discordで私たちに参加しましょう。
📄 ライセンス
このモデルはApache 2.0ライセンスの下で提供されています。