🚀 子牙-LLaMA-13B-v1
子牙写作大模型V1は、LLaMaに基づく130億パラメータの命令微調整モデルで、執筆タスクの能力を強化し、執筆に特化した大規模モデルです。このモデルは、公文書レポート、講演原稿、書簡、クリエイティブコピーなど、様々な執筆タスクを実行できます。
🚀 クイックスタート
主なリンク
子牙シリーズモデル
概要
子牙写作大模型V1は、LLaMaに基づく130億パラメータの命令微調整モデルで、執筆タスクの能力を強化し、執筆に特化した大規模モデルです。このモデルは、公文書レポート、講演原稿、書簡、クリエイティブコピーなど、様々な執筆タスクを実行できます。
詳細は、当社の公式アカウントの記事を参照してください。
子牙大規模モデルシリーズ | 執筆モデルziya-writingがオープンソースに!そのまま使えるので、あなただけの執筆アシスタントを手に入れましょう!
✨ 主な機能
- 公文書レポート、講演原稿、書簡、クリエイティブコピーなど、様々な執筆タスクを実行できます。
- 大量の実際の人間の執筆データを使用してトレーニングされ、高品質の回答を生成できます。
- 人間のフィードバック学習を使用して、モデルの性能をさらに向上させます。
📦 インストール
ソフトウェア依存関係
pip install torch==1.12.1 tokenizers==0.13.3 git+https://github.com/huggingface/transformers
📚 ドキュメント
モデル分類
要件 |
タスク |
シリーズ |
モデル |
パラメータ |
追加情報 |
執筆 |
AGIモデル |
子牙 |
LLaMA |
13B |
英語と中国語 |
モデル情報
教師付き微調整
ネットワークから大量の実際の人間の執筆データを収集し、洗浄し、GPT-3.5を使用して対応する執筆命令を生成し、非常に厳格な人工検証を行いました。
これに基づいて、報酬モデルと一定の洗浄ロジックを使用して、より難しい執筆命令を選択し、簡単なデータを除外し、命令の多様性を保証しました。
evol-instructの方法を使用して、約30万件の高品質の汎用命令データを生成しました。汎用命令データと執筆命令データを混合したため、ziya-writingは良好な意図理解能力を持ち、優れた回答を生成できます。
人間フィードバック学習
実験では、少量の人間による高品質の執筆順位付けデータを使用し、強化学習でモデルをトレーニングすることで、モデルの執筆性能をさらに向上させることができることがわかりました。
モデルのパフォーマンスをさらに向上させ、人間の意図を十分に理解し、「幻覚」や不安全な出力を減らすために、命令微調整後のモデルに基づいて、人間フィードバックトレーニング(Human-Feedback Training、HFT)を行いました。トレーニングでは、人間フィードバック強化学習(RM、PPO)を主に使用しました。
社内で開発したフレームワークでHFTのトレーニングプロセスを実装しました。このフレームワークは、最小8枚の40G A100 GPUを使用して、Ziya-Writing-LLaMA-13B-v1の全パラメータトレーニングを完了できます。PPOトレーニングでは、生成サンプルの長さを制限せず、長文タスクの報酬の正確性を保証しました。各トレーニングの総経験プールサイズは100kサンプルを超え、トレーニングの十分性を保証しました。
性能評価
執筆コピーの良し悪しの評価は比較的主観的な判断であり、正確率や満足度の点数で測定することは難しいです。そのため、匿名モデルの複数人によるSide-by-Side評価メカニズムを使用し、100件の異なる難易度の執筆命令データを収集して評価しました。この評価セットも後で公開する予定です。
勝率をモデルの良し悪しを評価する指標として使用します。モデルの勝率の計算式は次のとおりです。
勝率 =(該当モデルの勝利数 + 引き分け数 / 2)/ 総アノテーション数
一般的に、言語モデルはほとんどサンプリングに基づいて回答を生成するため、勝率が55%を超えると、該当モデルは別のモデルよりも著しく優れていることを示し、勝率が45%未満の場合は、該当モデルは明らかに劣っていることを示し、勝率が45%から55%の間の場合は、2つのモデルは基本的に同じレベルです。
子牙-Writing-LLaMa-13B-v1 |
平均勝率 |
最大勝率 |
最小勝率 |
vs 子牙-LLaMa-13B-v1.1 |
70.7 |
73.5 |
69 |
vs 百川-vicuna-7b |
69.6 |
73.5 |
68 |
vs Moss-16B |
65.1 |
69 |
62 |
vs ChatGLM2-6B |
58.3 |
61.5 |
56 |
vs Minimax-abab5 |
52.3 |
53 |
50.5 |
vs GPT-3.5-turbo |
44.7 |
49.5 |
38 |
(注:最大勝率と最小勝率は、各アノテーション担当者のアノテーション結果を個別に集計し、最大と最小の得点を計算します。平均勝率は、すべてのアノテーション担当者のアノテーション結果を集計し、平均得点を計算します。)
💻 使用例
基本的な使用法
LLaMAのウェイトのライセンス制限により、このモデルは商用目的に使用できません。LLaMAの使用ポリシーを厳守してください。
from transformers import AutoTokenizer
from transformers import LlamaForCausalLM
import torch
device = torch.device("cuda")
query="帮我写一份去西安的旅游计划"
model = LlamaForCausalLM.from_pretrained("IDEA-CCNL/Ziya-Writing-LLaMa-13B-v1", torch_dtype=torch.float16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("IDEA-CCNL/Ziya-Writing-LLaMa-13B-v1", use_fast=False)
inputs = '<human>:' + query.strip() + '\n<bot>:'
input_ids = tokenizer(inputs, return_tensors="pt").input_ids.to(device)
generate_ids = model.generate(
input_ids,
max_new_tokens=2048,
do_sample = True,
top_p = 0.85,
temperature = 0.85,
repetition_penalty=1.,
eos_token_id=2,
bos_token_id=1,
pad_token_id=0)
output = tokenizer.batch_decode(generate_ids)[0]
print(output)
微調整例
ziya_finetuneを参照してください。
推論量子化例
ziya_inferenceを参照してください。
引用
あなたの研究でこのモデルを使用する場合は、以下の論文を引用してください。
@article{fengshenbang,
author = {Jiaxing Zhang and Ruyi Gan and Junjie Wang and Yuxiang Zhang and Lin Zhang and Ping Yang and Xinyu Gao and Ziwei Wu and Xiaoqun Dong and Junqing He and Jianheng Zhuo and Qi Yang and Yongfeng Huang and Xiayu Li and Yanghan Wu and Junyu Lu and Xinyu Zhu and Weifeng Chen and Ting Han and Kunhao Pan and Rui Wang and Hao Wang and Xiaojun Wu and Zhongshen Zeng and Chongpei Chen},
title = {Fengshenbang 1.0: Being the Foundation of Chinese Cognitive Intelligence},
journal = {CoRR},
volume = {abs/2209.02970},
year = {2022}
}
また、以下のウェブサイトも引用できます。
@misc{Fengshenbang-LM,
title={Fengshenbang-LM},
author={IDEA-CCNL},
year={2021},
howpublished={\url{https://github.com/IDEA-CCNL/Fengshenbang-LM}},
}
📄 ライセンス
このモデルはGPL-3.0ライセンスの下で提供されています。