わずか数ステップでデバイス上で Alpaca-LoRA を実行するにはどうすればよいでしょうか?

わずか数ステップでデバイス上で Alpaca-LoRA を実行するにはどうすればよいでしょうか?

翻訳者 | ブガッティ

レビュー | Chonglou

ChatGPT は、ここ数か月で大きな注目を集めている人工知能(AI)言語モデルです。人気のあるバージョンはGPT -3.5GPT-4 の2 つです GPT-4 はGPT-3.5のアップグレード版であり生成される回答はより正確です。しかし、 ChatGPT主な問題は、オープンソースではないことです。つまり、ユーザーはソースコードを表示したり変更したりすることはできません。これにより、カスタマイズ、プライバシー、 AIの民主化など多くの問題発生します

ChatGPTのように機能する無料でオープンソースでありCPUリソースの消費が少ないAI音声チャットボット必要ですこの記事で紹介したアルパカLoRAそんなAIモデルです。この記事を読んだ後、理解深まり Pythonを使用してローカル マシンで実行できるようになります。まず、 Alpaca A oRAとは何かについて説明しましょう

アルパカ LoRA の定義

Alpacaスタンフォード大学の研究チームによって開発されたAI言語モデルです。 Metaの大規模言語モデルLLaMAを使用します OpenAIGPT ( text-davincii-003 )を使用して、 70 億のパラメータを持つLLaMAモデルを微調整します学術・研究コミュニティでは無料使用でき必要コンピューティングリソース非常に少なくなります

チームはLLaMA 7Bモデルから始めて1兆個のトークン事前トレーニングしました。彼らは、手動で記述された175 個のコマンドと出力のペアから始めてChatGPTAPIを使用してさらに多くのペアを生成しました。彼らは、 LLaMAモデルをさらに微調整するために52,000 件のサンプル会話を収集しました

LLaMAモデルには、 70億パラメータ、 130億パラメータ、300パラメータ 650億パラメータなど、いくつかのバージョンがあります Alpaca は70億パラメータ 130億パラメータ 300億パラメータ 650億パラメータのモデルに拡張できます

1 Aplaca 7Bアーキテクチャ

Alpaca-L o RAStanford Alpaca小型バージョン、消費電力が少なく、 Raspberry Pieなどのローエンドデバイスでも実行できます。 Alpaca-LoRA は、 Low Rank Adaptation ( LoRA )を使用して、メモリ消費を抑えながら大規模モデルのトレーニングを高速化します

Alpaca LoRA Python 実装

ローカルマシン上でAlpaca-Lora を実行するためのPython環境を作成しますこのモデルを実行するにはGPU必要ですCPU では実行されません(または出力非常に遅くなります) 。 70億パラメータのモデルを使用する場合は、少なくとも12 GB のメモリが必要になります 130億パラメータまたは300億パラメータのモデルを使用する場合はより多くのメモリが必要になります。

GPU をお持ちでない場合は、 Google Colabで同じ手順を実行できます。記事の最後に Colab リンクが添付されています。

Alpaca-LoRAこのGitHubコード リポジトリに従います

1. 仮想環境を作成する

すべてのライブラリを仮想環境にインストールします。この手順は必須でありませんが、推奨されます。次のコマンドは Windows オペレーティング システムに適用できます。 (Google Colab の場合、この手順は必要ありません)。

创建venv的命令: $ py -m venv激活它的命令: $ .\venv\Scripts\activate禁用它的命令: $ deactivate

2. GitHubコードリポジトリをクローンする

ここで、 Alpaca LoRAコードリポジトリをクローンします

$ git clone https://github.com/tloen/alpaca-lora.git $ cd .\alpaca-lora\安装库: $ PIP install -r .\requirements.txt

3. トレーニング

finettune.py というPythonファイルには、バッチ サイズ、エポック数、学習率( LR )など調整可能なLLaMAモデルのハイパーパラメータが含まれていますfinetune.py を実行する必要はありません。それ以外の場合、実行ファイルは tloen/alpaca-lora-7b からベース モデルと重みを読み取ります。

 $ python finetune.py \ --base_model 'decapoda-research/llama-7b-hf' \ --data_path 'yahma/alpaca-cleaned' \ --output_dir './lora-alpaca' \ --batch_size 128 \ --micro_batch_size 4 \ --num_epochs 3 \ --learning_rate 1e-4 \ --cutoff_len 512 \ --val_set_size 2000 \ --lora_r 8 \ --lora_alpha 16 \ --lora_dropout 0.05 \ --lora_target_modules '[q_proj,v_proj]' \ --train_on_inputs \ --group_by_length

4. モデルを実行する

generate.py という名前の Python ファイルは、 tloen/alpaca-lora-7b からHugging Faceモデルと LoRA 重みを読み取ります。 Gradioを使用してユーザーインターフェイスを実行し、ユーザーがテキスト ボックスに質問を入力し、別のテキスト ボックスに出力を受け取ることができます。

注: Google Colabで作業している場合は、generate.py ファイルの launch() 関数で share=True をマークしてください。パブリック URL 上でインターフェースを実行します。それ以外の場合は、localhost http://0.0.0.0:7860 で実行されます

 $ python generate.py --load_8bit --base_model 'decapoda-research/llama-7b-hf' --lora_weights 'tloen/alpaca-lora-7b'

出力:

2 つのURLがあり、1 つはパブリックで、もう 1 つはローカルホストで実行されます。 Google Colab を使用する場合は、パブリック リンクにアクセスできます。

5. アプリケーションをDocker化する

アプリケーションをどこかにエクスポートしたい場合や依存関係の問題に直面している場合 Docker コンテナでアプリケーションを Dockerize することができます Docker は、アプリケーションの不変のイメージを作成するためのツールです。このイメージは共有され必要なすべてのライブラリ、ツール、コード、ランタイム環境を備えたコンテナー内で実行されるアプリケーション変換直すことができます Docker for Windows はここからダウンロードできます: https://docs.docker.com/desktop/install/windows-install/。

: Google Colab を使用している場合は、この手順をスキップできます。

コンテナイメージをビルドします。

 $ docker build -t alpaca-lora

コンテナを実行します。

$ docker run --gpus=all --shm-size 64g -p 7860:7860 -v ${HOME}/.cache:/root/.cache --rm alpaca-lora generate.py \ --load_8bit \ --base_model 'decapoda-research/llama-7b-hf' \ --lora_weights 'tloen/alpaca-lora-7b'

https://localhost:7860 でアプリケーションが実行されます。

Alpaca-LoRA ユーザーインターフェース

現在、 Alpaca-LoRA が稼働しています次にその機能のいくつかを調べて、何かを書き込んでましょう

図 2. Alpaca-LoRA ユーザー インターフェース

ChatGPT のような UI が提供れており、質問するとそれに応じて回答が得られます。また、 Temperature 、 Top p 、 Top k 、 Beams 、 Max Tokensなどの他のパラメータも受け入れます。基本的に、これらは評価時に使用されるビルド構成です。

ストリーム出力チェックボックスがあります。このチェックボックスをオンにすると、チャットボットは一度に1 つのトークンを応答します(つまり、 ChanGPTと同様に、出力を 1 行ずつ書き込みます) このオプションをオフにするすべてを一度に書き込みます。

いくつか質問してみましょう

質問 1:数値の階乗を求めるPythonコードを記述してください

出力:

図3.出力-1

質問 2: 「 KDnuggets は、データ サイエンス、機械学習、AI、分析に関する主要なサイトです。 」をフランス語に翻訳してください

出力:

図4.出力-2

ChatGPT とは異なり、いくつかの制限もあります。インターネットに接続されていないため、最新の情報を提供できない可能性があります。さらに、社会の弱い層に憎悪や誤った情報を広める可能性もあります。それでも、計算要件が低い、優れた無料のオープンソース ツールです。これは、研究者や学者倫理的なAI およびサイバーセキュリティ活動を実行する上で大きな助けとなるでしょう

Google Colabリンク:

https://colab.research.google.com/drive/1t3oXBoRYKzeRUkCBaNlN5u3xFvhJNVVM?usp=sharing

元のタイトル:わずか数ステップでデバイス上で Alpaca-LoRA を実行する方法を学ぶ、著者: Aryan Garg

<<:  ウェブページを出力できるAIアプリが登場、早速評価してみよう

>>:  科学者が警告:AIが生成したコンテンツでAIを訓練すると、数世代以内に「ゴミ」が生成され始める

ブログ    
ブログ    

推薦する

Googleのジェフ・ディーンが単独著者として執筆: ディープラーニング研究の黄金の10年

コンピュータの出現以来、人類は思考できる機械を創ることを夢見てきました。 1956 年、ジョン マッ...

面接前に必ず読むべきソートアルゴリズムトップ10

[[419332]]導入プログラマーとして、上位 10 のソート アルゴリズムは必須であり、すべて...

...

9つの主要テーマ!機械学習アルゴリズム理論に関する面接の質問の要約

[[342976]]機械学習は、強力な理論的側面と実践的側面を備えた技術分野です。機械学習関連の仕事...

...

これは本当に天才的ですね!パーセプトロンを組み合わせると、ニューラル ネットワークになるのではないでしょうか。

[[354709]]みなさんこんにちは。今日もディープラーニングについてお話していきましょう。クラ...

ハッカーが、さまざまなネットワーク攻撃コードを自動生成できる悪質なAIツールFraudGPTを公開

7月31日、「ハッカーがAIを使って犯罪ツールを作る」という研究者の懸念が徐々に現実のものとなりつつ...

AIインフルエンサーはPSのみで月8万元稼げる

月収8万元の美しいネットセレブは、わずか数か月でインスタグラムのフォロワーが15万人を超えた。有名人...

自動運転テストが重要なのはなぜですか?米国と比較して、中国には4つの大きな利点がある

交通・自動車業界の変革の主流として、自動運転技術の開発は初期の成熟段階に入り、多くの企業が大規模なテ...

GitHub トップ プロジェクト: 30 万語の図解アルゴリズム問題辞書、超実用的なリソース、6,000 個のスター

[[336071]]貴重なリソースをまとめましたので、ぜひご覧ください。アルゴリズムはコンピュータサ...

「緊急天使」がロボットを救出するために前進し、事態を収拾した

科学技術の進歩と社会の発展に伴い、ロボット産業は繁栄の時代を迎えています。ロボット工学は、コンピュー...

データサイエンスの面接で必ず知っておくべき 5 つの質問

同じ場所で二度失敗することがないように、そして他の人の役に立つために、私は自分の情熱に従ってデータ ...

清華大学、マイクロソフトなど大学がリマインダーエンジニアを排除? LLMと進化的アルゴリズムを組み合わせて強力なプロンプト最適化ツールを作成する

LLM の機能と従来のアルゴリズムを組み合わせることで、どのような火花が生まれるのでしょうか?清華大...