|
オリジナル:Song Zhixue(Datawhale) Datawhaleのヒント 著者: 宋志雪、 Datawhaleメンバー 01 例シリーズの過去と現在 私たちは、オープンソースに体現された自由と平等の精神をもって、より広大で壮大な LLM の世界を実現し、LLM と一般大衆との架け橋となることを目指しています。 Self-llmオープンソースプロジェクトは、中国語初心者と中国語学習者向けに特別に設計されたチュートリアルで、オープンソースの大規模モデルに焦点を当てています。環境設定、ローカル展開、効率的な微調整など、様々なオープンソースの大規模モデルのプロセス全体を網羅したガイダンスを提供し、オープンソースの大規模モデルの展開、使用、そして応用プロセスを簡素化します。これにより、より多くの一般の学生や研究者がオープンソースの大規模モデルをより効果的に活用できるようになり、オープンソースや無料の大規模モデルが一般学習者の生活に素早く溶け込むようになります。 大規模モデル応用に関する学習者の理解をさらに深めるため、セルフLLMプロジェクトでは、大規模モデル応用に関するベストプラクティス集を追加しました。これらのアプリケーションは、最新の技術進歩と応用トレンドを反映するために継続的に更新されます。待望のセルフLLM事例シリーズの最初のバージョンがリリースされ、セルフLLMプロジェクトのさらなる拡大が示されました。 事例シリーズは、学習者が基礎知識を習得した後、厳選された実例を通して、大規模モデルアプリケーション開発のコアテクノロジーを深く理解し、習得できるよう支援することを目的としています。これらの事例は様々な実践的な応用を網羅し、学習者が大規模モデルを効果的に活用して現実世界の問題を解決する方法を探求し、実践できるよう導きます。綿密に設計された大規模モデルアプリケーションプロジェクトのデモを通して、学習者は事例を完了することで大規模モデルアプリケーション開発の主要な技術的側面を完全に理解するだけでなく、大規模モデルアプリケーションの二次開発や自己開発を自主的に行う能力を身に付けることを期待しています。プロジェクトはチュートリアルとブログの形式で提供されます。 プロジェクトアドレス ↓スターへようこそ⭐️ https://github.com/datawhalec... 02 例シリーズ - パート1 「歓歓はどのように作られたのですか? 」 Chat-Zhenhuanは、『真歓伝』の脚本にある真歓に関するセリフや文章をすべて利用し、大規模モデルをベースにLoRAで微調整することで得られた、真歓の口調を模倣したチャット言語モデルです。 小説『後宮の妃たち』および同名テレビドラマの主人公である真歓は、もともと漢民族の真元道の娘でした。後に雍正帝から尼胡芙の姓を賜り、満州族の上三旗の一員となりました。彼女は亡き春元皇后に酷似していたことから宮廷に入り、数々の宮廷陰謀を経て、純朴な少女から策略家へと成長しました。年氏の野望が皇帝に見破られた後、真歓は皇帝を助けて政敵を排除し、皇帝の深い寵愛を得ました。皇后に陥れられたり、宮廷外で尼になったり、郭王に恋をしたりといった挫折を経験した後、真歓は宮廷への復帰を企て、双子を出産しました。最終的に、一連の陰謀を通じて皇后を倒し、雍正帝を毒殺し、乾隆帝の皇太后となり、絶大な権力を握った。 Chat-Zhenhuanは、「真歓伝」を起点に、小説や脚本に基づいたパーソナライズされたAI微調整モデルを作成するための完全なプロセスを実現しました。ユーザーは任意の小説や脚本を提供し、キャラクターを指定するだけで、このプロジェクトの全プロセスを実行できます。これにより、ユーザーは自分の好きな小説や脚本に基づいて、キャラクターの性格に合った、高い知能を持つパーソナライズされたAIを作成できます。
それでは、Chat-Zhen Huanの実践的なトレーニングプロセスをステップバイステップで解説します。一緒に体験してみましょう! ステップ1:環境の準備 この記事の基本的な環境は次のとおりです。 ---------------- パイトーチ 2.3.0この記事は、学習者が上記のPyTorch(CUDA)環境を既にインストールしていることを前提としています。まだインストールしていない場合は、ご自身でインストールしてください。 まず、 アップグレード pippython -m pip インストール --upgrade pip ライブラリのインストールを高速化するために PyPI ソースを変更します。pip config で global.index-url を設定します https://pypi.tuna.tsinghua.ed... pip インストール modelscope==1.16.1 ステップ2: データの準備まず、「Empresses in the Palace」のスクリプトデータを準備する必要があります。ここでは「Empresses in the Palace」のスクリプトデータを使用します。元のデータの形式を確認できます。 第2幕(法廷が終了し、役人たちは解散する) 各行には文字と対応する行が含まれているため、このデータは次のように簡単にダイアログ形式に処理できます。 [ 次に、興味のあるキャラクターの会話を抽出し、Q&Aペアを作成します。このタイプのデータでは、正規表現などの方法を使用して、興味のあるキャラクターの会話を迅速に抽出できます。 しかし、多くの場合、そのような優れた台詞形式のデータはありません。そのため、大量のテキストからキャラクターの台詞データを抽出し、必要な形式に変換する必要があるかもしれません。 例えば、『西遊記』の現地語版では、テキストは次のようになっています。このようなテキストの場合、大規模モデルの機能を活用して登場人物とそれに対応するセリフを抽出する必要があります。そして、必要なオレンジ色のキャラクターのセリフをフィルタリングします。 extract-dialogueという小さなツールを使用して、テキストからダイアログを抽出できます。 …… やがて孫悟空は、いたずら魔王の水洞の入り口に到着し、入り口にいる小悪魔たちに叫びました。「お前たちの忌々しい魔王は、何度も我々猿をいじめてきた。今日は、その魔王と決闘するために来たのだ!」 小悪魔は洞窟に駆け込み、魔王に報告しました。魔王は急いで鉄の鎧を身につけ、大剣を手に取り、小悪魔たちに囲まれながら洞窟から出て行きました。 孫悟空は素手で魔王の剣を奪い取り、魔王を真っ二つに切り裂いた。そして、一握りの毛をむしり取り、噛み砕いて吐き出した。毛は無数の小猿に姿を変え、洞窟に突進して魔王たちを皆殺しにした。彼らはさらわれた猿を救出し、穢水洞に火を放った。
最後に、次のようにデータを [
したがって、このステップでデータを処理するための一般的なアプローチは次のとおりです。 1. 生データから文字と会話を抽出します。 2. 興味のあるキャラクターのセリフを除外します。 3. ダイアログを必要な形式に変換します。 このステップでは、例えば2~3個のデータポイントを例としてLLM(Local Level Management)システムに入力し、類似したスタイルデータを生成するといったデータ拡張も行えます。あるいは、日常会話のデータセットを見つけてRAG(Rapid Amplification)を使用し、固定された文字スタイルの会話データを生成することもできます。ぜひ自由に実験してみてください! ステップ3: モデルのトレーニング次のステップはおそらく皆さんもよくご存知でしょう。すべての ここでは、微調整のために 輸入トーチ model\_dir = snapshot\_download('LLM-Research/Meta-Llama-3.1-8B-Instruct', cache\_dir='/root/autodl-tmp', revision='master') 注意: 次に、学習コードを準備します。Self
コマンドラインで次のコマンドを実行します。 Python の train.py 注意: トレーニングには約20~30分かかります。トレーニングが完了すると、 トランスフォーマーから AutoModelForCausalLM、AutoTokenizer をインポート mode\_path = './LLM-Research/Meta-Llama-3\_\_\_1-8B-Instruct' トークナイザーをロードするトークナイザー = AutoTokenizer.from\_pretrained(mode\_path, trust\_remote\_code=True) モデルの読み込みモデル = AutoModelForCausalLM.from\_pretrained(mode\_path, device\_map="auto",torch\_dtype=torch.bfloat16, trust\_remote\_code=True).eval() LoRaウェイトの読み込みモデル = PeftModel.from\_pretrained(モデル、モデル\_id=lora\_path) prompt = "Huanhuan、どうしたの?私はあなたを応援しているよ!" メッセージ = [ input\_ids = tokenizer.apply\_chat\_template(メッセージ、tokenize=False、add\_generation\_prompt=True) 印刷(input_ids) model\_inputs = tokenizer([input\_ids], return\_tensors="pt").to('cuda') 生成されたID = [ 陛下:歓歓、どうしたのですか?私はあなたのためにここにいます! 次は、このHuanhuanモデルを使って会話をしてみましょう!興味のある学生は 結論は Chat-Huanhuanは昨年、LLMプログラムがちょうど人気になり始めた頃に誕生しました。何か行動を起こさなければ、多くの興味深い出来事を見逃してしまうかもしれないと感じました。そこで、数人の友人と私はこのプロジェクトに多くの時間を費やしました。多くのことを学び、多くの問題に直面しましたが、すべて解決することができました。Chat-Huanhuanは賞も受賞し、大きな注目を集めました。ですから、このプロジェクトは非常に意義深く、非常に興味深いものだと思います。
チャット - Huanhuan 寄稿者
-終わり- 大規模なモデル アプリケーションの開発に熱意のある貢献者を歓迎します。 一緒にセルフ LLM の例シリーズを構築して共有しましょう。 |
「オープンソースの大規模モデル使用ガイド」: 大規模モデルをすぐにマスターしましょう! ベストプラクティスの新しい例!
関連するおすすめ記事
-
SpaceXの最新の打ち上げは失敗に終わりました!ロケットを固定する「箸」操作は成功しましたが、スターシップは分解してしまいました。
-
OpenAIの内部モデルが明らかに!プログラマーのスキルは世界トップ50にランクイン。年末までに、彼らに対抗できる人間は誰もいなくなるだろう。
-
時系列予測の「ブラックボックス」問題を解明!華中科技大学は、患者の生存率の主要指標を明らかにするためにCGS-Maskを提案しています。
-
[TVMチュートリアル] NVIDIA GPU向け畳み込みネットワークの自動チューニング
-
アリババクラウドが2010年パリオリンピックの貴重な映像を復元、IOCバッハ会長が感謝の意を表した!
-
GPT-5 は期待に応えられなかったと報道される。OpenAI 従業員:「科学的なブレークスルーはもうなく、エンジニアリングだけです...」