モデル紹介
Alpaca モデルは、スタンフォード大学によって開発された LLM (Large Language Model、ビッグランゲージ) オープンソース モデルであり、LLaMA 7B (7B オープン) の 52K 命令に基づいて微調整されたモデルです。出典: Meta Company)、モデル パラメーターは 70 億個あります (モデル パラメーターが大きいほど、モデルの推論能力が強化され、当然、モデルのトレーニングのコストも高くなります)。
LoRA、正式な英語名は Low-Rank Adaptation of Large Language Models で、文字通り大規模言語モデルの低レベル適応と訳されます。これは、大規模言語モデルの微調整を解決するために Microsoft の研究者によって開発されたテクノロジです。言語モデル。事前にトレーニングされた大規模な言語モデルで特定のフィールドのタスクを実行できるようにしたい場合は、通常、微調整を行う必要がありますが、優れた推論効果を持つ大規模な言語モデルのパラメーターの次元は非常に大きく、大規模な言語モデルに対して微調整を直接実行すると、非常に大量の計算と非常に高いコストが必要になります。
'LoRA のアプローチは、事前トレーニングされたモデル パラメーターをフリーズし、トレーニング可能なレイヤーを各 Transformer ブロックに注入することです。モデル パラメーターの勾配を再計算する必要がないため、計算が大幅に削減されます。量。
下の図に示すように、中心となるアイデアは、元の事前トレーニング済みモデルにバイパスを追加し、次元削減を実行してから次元操作を実行することです。トレーニング中、事前トレーニングされたモデルのパラメーターは固定され、次元削減行列 A と次元強化行列 B のみがトレーニングされます。モデルの入力次元と出力次元は変更されず、BA と事前トレーニングされた言語モデルのパラメーターが出力に重ねられます。
A をランダム ガウス分布で初期化し、B を 0 行列で初期化します。これにより、トレーニング中の新しいバイパス BA=0 が保証され、モデルの結果に影響を与えません。推論中、左部分と右部分の結果が加算されます (つまり、h=Wx BAx=(W BA)x)。したがって、学習後の行列積 BA と元の重み行列 W を新しい重みパラメータとして追加するだけです。元の事前トレーニング済み言語モデルの W だけで十分であり、追加のコンピューティング リソースは追加されません。 LoRA の最大の利点は、トレーニングが高速になり、使用するメモリが少なくなることです。
この記事でローカライズされた展開の実践に使用される Alpaca-lora モデルは、Alpaca モデルの低次適応バージョンです。この記事では、Alpaca-lora モデルのローカリゼーション展開、微調整、推論プロセスを実践し、関連する手順について説明します。
GPU サーバー環境の展開
この記事で展開する GPU サーバーには 4 つの独立した GPU があり、モデルは P40 です。単一の P40 の計算能力は次のとおりです。 60 同じメイン周波数の CPU の計算能力に相当します。
#物理カードがテストするには高価すぎると感じる場合は、「代替バージョン」である GPU クラウド サーバーを使用することもできます。物理カードと比較して、GPU クラウド サーバーを使用して構築すると、柔軟なハイパフォーマンス コンピューティングが保証されるだけでなく、次のような利点もあります -
- 高いコスト パフォーマンス: 時間単位で請求され、コストはわずか 10 ドルですいつでも自分のニーズに合わせて導入でき、柔軟なリソース管理、スケーラビリティ、柔軟なスケーリングなどのクラウド コンピューティングの利点を利用して、ビジネスまたは個人のトレーニング ニーズに応じてコンピューティング リソースを迅速に調整して、モデルのトレーニングやニーズを満たすことができます。導入ニーズ;
- オープンな特性: クラウド コンピューティングのオープン性により、ユーザーはリソースの共有と共同作業が容易になり、AI モデルの研究と応用に幅広い協力の機会が提供されます;
- 豊富な APIおよび SDK: クラウド コンピューティング ベンダーは豊富な API と SDK を提供しており、ユーザーはカスタマイズされた開発と統合のためにクラウド プラットフォームのさまざまなサービスや機能に簡単にアクセスできます。
https://www.php.cn/link/5d3145e1226fd39ee3b3039bfa90c95d
##GPU サーバーを入手したら、まずグラフィック カード ドライバーと CUDA ドライバー (グラフィック カード メーカーである NVIDIA が発売したコンピューティング プラットフォームです。CUDA は一般的な並列コンピューティング アーキテクチャです) をインストールします。 NVIDIA によって開始され、GPU 能力で複雑な計算問題を解決できるようになります)。
グラフィック カード ドライバーは、NVIDIA の公式 Web サイトにアクセスして、対応するグラフィック カード モデルと適応する CUDA バージョンを見つける必要があります。ダウンロード アドレス:
https://www.nvidia.com/Download/index.aspx , [対応するグラフィックス カードと CUDA バージョンのドライバー ファイルをダウンロードできます] を選択します。です
NVIDIA-Linux-x86_64-515.105.01.run、これは実行可能ファイルであり、root 権限で実行できます。ドライバーのインストール プロセス中に nvidia プロセスを実行できないことに注意してください。必要に応じて、すべてのプロセスを強制終了してください。それ以外の場合は、次の図に示すように、インストールに失敗します:
次に、次へ進みます。エラーが報告されなければ、インストールは成功です。後でグラフィックス カードのリソースを確認するには、nvitop などの別のグラフィックス カード監視ツールをインストールするのが最善です。単に pip install nvitop を使用します。サーバーごとに Python のバージョンが異なるため、anaconda をインストールするのが最善であることに注意してください。実行時にさまざまな奇妙なエラーが発生するのを防ぐために、独自のプライベート Python スペースをデプロイします 具体的な手順は次のとおりです:
1. anaconda をインストールします ダウンロード方法: wget
https://repo.anaconda.com /archive/Anaconda3-5.3.0-Linux-x86_64 .sh。インストール コマンド: sh Anaconda3-5.3.0-Linux-x86_64.sh インストール手順ごとに「yes」を入力し、conda init 後に最後にインストールを完了します。これにより、インストール ユーザーのセッションに入るたびに、自分のセッションを直接入力することになります。 Python環境。インストールの最後のステップで no を選択した場合、つまり conda init が実行されなかった場合は、後でsource /home/jd_ad_sfxn/anaconda3/bin/activate を通じてプライベート Python 環境に入ることができます。
2. setuptools のインストール 次に、パッケージ化および配布ツールの setuptools をインストールする必要があります。ダウンロード アドレス: wget
https://files.pythonhosted.org/packages/26/e5/9897eee1100b166a61f91b68528cb692e8887300d9cbdaa1a349f6304b79/setuptools- 40.5.0 .zip インストール コマンド: unzip setuptools-40.5.0.zip cd setuptools-40.5.0/ python setup.py install
3. pip のダウンロード アドレスをインストール: wget
https://files .pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0fbbf6de8f7/pip-18.1.tar.gz インストールコマンド: tar -xzf pip-18.1.tar.gz cd pip-18.1 python setup.py install
これまでのところ, 久しぶりのインストールです ようやくプロセスが終わりました. ここでプライベート Python スペースを作成し、
conda create -n alpaca pythnotallow=3.9conda activate alpaca
を実行して確認します. 下図のように、作成されたことがわかります成功しました。
モデル トレーニング
GPU サーバーの基本環境は上記でインストールされました。これからエキサイティングなモデル トレーニングを開始します (エキサイティング ing ) 、トレーニングの前に、最初にモデル ファイルをダウンロードする必要があります。ダウンロード アドレス:
https://github.com/tloen/alpaca-lora、モデル全体がオープンソースであり、これは素晴らしいことです。まず、モデルファイルをローカルにダウンロードし、git clone https://github.com/tloen/alpaca-lora.git を実行します。
ローカルに alpaca-lora フォルダーが作成され、そのフォルダー内で cd alpaca-lora を実行します。
pip install -r requirements.txt
このプロセスは時間がかかる可能性があり、から大量の依存関係パッケージをダウンロードする必要があります。インターネット。さまざまなパッケージの競合や不足している依存関係も報告される場合があります。この領域では、何が不足しているのかを見つけることしかできません (パッケージの依存関係やバージョンの競合を解決するのは確かに頭の痛い問題です。ただし、この手順が適切に行われないと、モデルも実行されます。立ち上がることができないので、辛抱強く少しずつ解決することしかできません)。マシンごとに異なる問題が発生する可能性があるため、ここでは面倒なプロセスについては詳しく説明しません。したがって、参照の重要性は次のとおりです。あまり素晴らしいものではありません。
インストール プロセスが完了すると、エラー メッセージは報告されず、「成功しました」というプロンプトが表示され、おめでとうございます。数千マイルにわたる長い行進は完了し、成功に非常に近づいています。もう少し待ってください。成功する可能性が非常に高いです :)。
私たちの目標はモデルを微調整することなので、微調整の目標を持たなければなりません。元のモデルは中国語を十分にサポートしていないため、私たちの目標は中国語コーパスを使用してモデルを改善することです。中国語をサポートしています。このコミュニティも私のために用意してくれました。中国語コーパスを直接ダウンロードして、wget
https://github.com/LC1332/ Chinese-alpaca-lora/ をローカルで実行するだけです。blob/main/data/ trans_chinese_alpaca_data.json?raw=true、後のモデルトレーニングに使用されるコーパスを alpaca-lora のルート ディレクトリにダウンロードします (後の便宜のため)。
コーパスの内容は、下図のような命令、入力、出力のトリプルで構成されており、命令はモデルに何かをさせる命令、入力は入力、出力はモデルの出力 指示と入力に従って、モデルが中国語によりよく適応できるようにトレーニング モデルがどのような情報を出力する必要があるか。
好的,到现在为止,万里长征已经走完2/3了,别着急训练模型,我们现在验证一下GPU环境和CUDA版本信息,还记得之前我们安装的nvitop嘛,现在就用上了,在本地直接执行nvitop,我们就可以看到GPU环境和CUDA版本信息了,如下图:
在这里我们能够看到有几块显卡,驱动版本和CUDA版本等信息,当然最重要的我们还能看到GPU资源的实时使用情况。
怎么还没到模型训练呢,别着急呀,这就来啦。
我们先到根目录下然后执行训练模型命令:
如果是单个GPU,那么执行命令即可:
python finetune.py \--base_model 'decapoda-research/llama-7b-hf' \--data_path 'trans_chinese_alpaca_data.json' \--output_dir './lora-alpaca-zh'
如果是多个GPU,则执行:
WORLD_SIZE=2 CUDA_VISIBLE_DEVICES=0,1 torchrun \--nproc_per_node=2 \--master_port=1234 \finetune.py \--base_model 'decapoda-research/llama-7b-hf' \--data_path 'trans_chinese_alpaca_data.json' \--output_dir './lora-alpaca-zh'
如果可以看到进度条在走,说明模型已经启动成功啦。
在模型训练过程中,每迭代一定数量的数据就会打印相关的信息,会输出损失率,学习率和代信息,如上图所示,当loss波动较小时,模型就会收敛,最终训练完成。
我用的是2块GPU显卡进行训练,总共训练了1904分钟,也就是31.73个小时,模型就收敛了,模型训练是个漫长的过程,所以在训练的时候我们可以适当的放松一下,做点其他的事情:)。
模型推理
模型训练好后,我们就可以测试一下模型的训练效果了,由于我们是多个GPU显卡,所以想把模型参数加载到多个GPU上,这样会使模型推理的更快,需要修改
generate.py 文件,添加下面这样即可。
然后我们把服务启起来,看看效果,根目录执行:
python generate.py --base_model "decapoda-research/llama-7b-hf" \--lora_weights './lora-alpaca-zh' \--load_8bit
其中./lora-alpaca-zh目录下的文件,就是我们刚刚fine tuning模型训练的参数所在位置,启动服务的时候把它加载到内存(这个内存指的是GPU内存)里面。
如果成功,那么最终会输出相应的IP和Port信息,如下图所示:
我们可以用浏览器访问一下看看,如果能看到页面,就说明服务已经启动成功啦。
激动ing,费了九牛二虎之力,终于成功啦!!
因为我们目标是让模型说中文,所以我们测试一下对中文的理解,看看效果怎么样?
简单的问题,还是能给出答案的,但是针对稍微复杂一点的问题,虽然能够理解中文,但是并没有用中文进行回答,训练后的模型还是不太稳定啊。
在推理的时候我们也可以监控一下GPU的变化,可以看到GPU负载是比较高的,说明GPU在进行大量的计算来完成推理。
总结
1.效果问题:由于语料库不够丰富,所以目前用社区提供的语料库训练的效果并不是很好,对中文的理解力有限,如果想训练出能够执行特定领域的任务,则需要大量的语料支持,同时训练时间也会更长;
2. 推論時間の問題: 現在デプロイされている GPU サーバーには 4 つの GPU があるため、そのうちの 3 つを実行できます。3 つの GPU に基づくと、推論は依然として非常に困難です。インタラクションの実行には約 30 秒から 1 分かかります。 chatGPT のようにリアルタイムで返されるため、それをサポートするには多くの計算能力が必要になります。投資は考慮する必要がある問題です;
3. 中国語のコード文字化けの問題: 入力が中国語の場合、返される結果が文字化けする場合があります。単語の分割に関連していると考えられます。中国語によるものです。エンコードの問題、中国語は英語のようにスペースで区別されないため、特定のエラーが発生する可能性があります。文字化けが発生し、オープン AI の API を呼び出すときにも発生します。コミュニティに対応する解決策があるかどうかは後で確認します。
4. モデル選択の問題: GPT コミュニティは現在比較的活発であるため、モデルの生成と変更も日を追うごとに変化しています。時間の都合上、アルパカの局所的な展開のみを調査しました。 lora モデル。将来、実際の実装には、より優れた低コストの実装ソリューションが登場するはずです。引き続きコミュニティの発展を追跡し、適切なものを選択する必要があります。オープンソース ソリューション。
JD Cloud P40 モデル GPU の [ChatGLM 言語モデル] 実践の詳細: https://www.php.cn/link/f044bd02e4fe1aa3315ace7645f8597a
著者: JD Retail Luo Yongjian
コンテンツ ソース: JD Cloud Developer Community
以上がGPT 大規模言語モデル Alpaca-lora ローカリゼーション展開の実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ChatGptはアクセスできませんか?この記事では、さまざまな実用的なソリューションを提供しています!多くのユーザーは、ChatGPTを毎日使用する場合、アクセス不能や応答が遅いなどの問題に遭遇する可能性があります。この記事では、さまざまな状況に基づいてこれらの問題を段階的に解決するように導きます。 ChatGPTのアクセス不能性と予備的なトラブルシューティングの原因 まず、問題がOpenaiサーバー側にあるのか、ユーザー自身のネットワークまたはデバイスの問題にあるのかを判断する必要があります。 以下の手順に従って、トラブルシューティングしてください。 ステップ1:OpenAIの公式ステータスを確認してください OpenAIステータスページ(status.openai.com)にアクセスして、ChatGPTサービスが正常に実行されているかどうかを確認してください。赤または黄色のアラームが表示されている場合、それは開くことを意味します

2025年5月10日、MIT物理学者のMax Tegmarkは、AI Labsが人工的なスーパーインテリジェンスを解放する前にOppenheimerの三位一体計算をエミュレートすべきだとGuardianに語った。 「私の評価では、「コンプトン定数」、競争が

AI Music Creation Technologyは、1日ごとに変化しています。この記事では、ChatGPTなどのAIモデルを例として使用して、AIを使用して音楽の作成を支援し、実際のケースで説明する方法を詳細に説明します。 Sunoai、Hugging Face、PythonのMusic21 Libraryを通じて音楽を作成する方法を紹介します。 これらのテクノロジーを使用すると、誰もがオリジナルの音楽を簡単に作成できます。ただし、AIに生成されたコンテンツの著作権問題は無視できないことに注意する必要があります。使用する際には注意する必要があります。 音楽分野でのAIの無限の可能性を一緒に探りましょう! Openaiの最新のAIエージェント「Openai Deep Research」が紹介します。 [chatgpt] ope

ChATGPT-4の出現により、AIアプリケーションの可能性が大幅に拡大しました。 GPT-3.5と比較して、CHATGPT-4は大幅に改善されました。強力なコンテキスト理解能力を備えており、画像を認識して生成することもできます。普遍的なAIアシスタントです。それは、ビジネス効率の改善や創造の支援など、多くの分野で大きな可能性を示しています。ただし、同時に、その使用における予防策にも注意を払わなければなりません。 この記事では、ChATGPT-4の特性を詳細に説明し、さまざまなシナリオの効果的な使用方法を紹介します。この記事には、最新のAIテクノロジーを最大限に活用するためのスキルが含まれています。参照してください。 Openaiの最新のAIエージェント、「Openai Deep Research」の詳細については、以下のリンクをクリックしてください

ChatGPTアプリ:AIアシスタントで創造性を解き放つ!初心者向けガイド ChatGPTアプリは、文章作成、翻訳、質問応答など、多様なタスクに対応する革新的なAIアシスタントです。創作活動や情報収集にも役立つ、無限の可能性を秘めたツールです。 この記事では、ChatGPTスマホアプリのインストール方法から、音声入力機能やプラグインといったアプリならではの機能、そしてアプリ利用上の注意点まで、初心者にも分かりやすく解説します。プラグインの制限やデバイス間の設定同期についてもしっかりと触れていきま

Chatgpt中国語版:中国語のAIの対話の新しい体験のロックを解除する ChatGptは世界中で人気がありますが、中国語版も提供していることをご存知ですか?この強力なAIツールは、毎日の会話をサポートするだけでなく、プロのコンテンツを処理し、簡素化された伝統的な中国語と互換性があります。中国のユーザーであろうと、中国語を学んでいる友人であろうと、あなたはそれから利益を得ることができます。 この記事では、アカウント設定、中国語の迅速な単語入力、フィルターの使用、さまざまなパッケージの選択を含むChatGpt中国語のバージョンの使用方法を詳細に紹介し、潜在的なリスクと対応戦略を分析します。さらに、ChatGpt中国語版を他の中国のAIツールと比較して、その利点とアプリケーションシナリオをよりよく理解するのに役立ちます。 Openaiの最新のAIインテリジェンス

これらは、生成AIの分野で次の飛躍と考えることができ、ChatGptやその他の大規模なモデルのチャットボットを提供しました。単に質問に答えたり情報を生成したりするのではなく、彼らは私たちに代わって行動を起こすことができます。

ChatGPTを活用した効率的な複数アカウント管理術|ビジネスとプライベートの使い分けも徹底解説! 様々な場面で活用されているChatGPTですが、複数アカウントの管理に頭を悩ませている方もいるのではないでしょうか。この記事では、ChatGPTの複数アカウント作成方法、利用上の注意点、そして安全かつ効率的な運用方法を詳しく解説します。ビジネス利用とプライベート利用の使い分け、OpenAIの利用規約遵守といった重要な点にも触れ、複数アカウントを安全に活用するためのガイドを提供します。 OpenAI


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
