わずか数ステップでデバイス上で 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を訓練すると、数世代以内に「ゴミ」が生成され始める

ブログ    
ブログ    
ブログ    

推薦する

人工知能がビジネスの生産性を変革する方法

[[244003]]既存の AI ツールやサービスは、従業員に代わるものではなく、ワークフローの改善...

あなたは私の目です!人工知能が障害者にバリアフリーのインターネットアクセスを提供する

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...

人工知能がウェブホスティング業界に優位性をもたらす

近年、ウェブホスティング業界は劇的に変化しました。そして、業界を永遠に変える可能性のあるいくつかのト...

スマートなモノのインターネットを導入する時が来た

[[427797]]画像ソース: https://pixabay.com/images/id-567...

テスラが自社開発したスーパーコンピューター「Dojo」は今月発表されるのか? UCLA教授がツイートで事前に情報を漏らす

[[415656]]謎のツイートにより、テスラが再び人気急上昇中だ。昨日、@Dennis Hong ...

...

たくさん学びました!世界で最も遅いソートアルゴリズム!

今日は、世界で最も遅いソートアルゴリズムである Bogo ソートについてお話ししたいと思います。では...

セキュリティ分野におけるドローン技術応用の現状

[[422011]] 2013年、バハマで仕事をしていたとき、私は現在ドローンとして知られているもの...

...

人体の中で自由に動くロボット:柔軟でしなやか、毛細血管まで

[[408943]] 7月1日のニュースによると、最近、ヨーロッパの大学の中国の科学者は、シート状の...

行列の乗算は乗算を必要とせず、100倍高速化、MITが近似アルゴリズムをオープンソース化

[[421266]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

開発に重点を置き、革新を追求します。 LeaTech Global CTO Leadership Summit が始まりました!

[51CTO.comより]デジタル経済時代の到来が加速し、「第14次5カ年計画」が発表されるにつれ...

...

Raspberry Pi で Stable Diffusion を実行すると、260 MB の RAM に 10 億のパラメータ モデルが「保持」されます。

Stable Diffusion は 11 か月前に誕生し、消費者向け GPU で実行できるという...