/a/オープンソース
Published on

「alpaca-lora」のインストール・使い方

1601文字3分で読めます–––
閲覧数
Authors
  • avatar
    Name
    章 有坂
    short bio
    オープンソースソフトウェアのトレンドを追いかけてます。

alpaca-loraは、Stanford Alpacaの結果を再現するためのコードを提供するプロジェクトで、これはLow Rank Adaptation (LoRA)を使用していますSource 0

※ NordVPNにこちらから新規登録すると、最大73%オフの割引になります。

概要

このプロジェクトは、Stanford Alpacaの結果を再現するためのコードを提供しています。Stanford Alpacaは、テキスト生成タスクで高品質な出力を生成するモデルで、このプロジェクトはその再現性を保つためにLoRAを使用しています。また、このプロジェクトは、Instructモデルのような品質を持つモデルを提供しており、これはRaspberry Pi上で実行できます。さらに、このコードは13b、30b、65bモデルに容易に拡張できますSource 0

インストール・導入方法

このプロジェクトはHugging FaceのPEFTとTim Dettmersのbitsandbytesを使用して、安全に適応を行います。以下のコマンドを使用して最新の「公式」Alpaca-LoRAアダプタを取得できます:

python finetune.py \
   --base_model='decapoda-research/llama-7b-hf' \
   --num_epochs=10 \
   --cutoff_len=512 \
   --group_by_length \
   --output_dir='./lora-alpaca' \
   --lora_target_modules='[q_proj,k_proj,v_proj,o_proj]' \
   --lora_r=16 \
   --micro_batch_size=8

また、Dockerを使用して設定と推論を行うことも可能です。以下のコマンドを使用してDockerイメージをビルドし、コンテナを実行します:

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'

使い方

このプロジェクトの主な目的は、Stanford Alpacaの結果を再現することです。したがって、このプロジェクトの使用方法は、Stanford Alpacaの使用方法に似ています。まず、必要なモデルとアダプタをダウンロードし、それらを使用してテキストを生成します。以下に、テキスト生成の一例を示します:

from transformers import pipeline

generator = pipeline('text-generation', model='tloen/alpaca-lora-7b')
text = generator("Alpacas are", max_length=100)[0]['generated_text']
print(text)

このコードは、"Alpacas are"という入力に対してテキストを生成します。生成されたテキストは、Stanford Alpacaが生成するテキストと同じように、指定した最大長で制限されますSource 0

※ NordVPNにこちらから新規登録すると、最大73%オフの割引になります。
avatar

章 有坂

オープンソースソフトウェアのプロ / ベテランのソフトウェア技術者 / Github専門家
オープンソースソフトウェアが好きな編集部が、GithubやGitlabなどの新着リポジトリやトレンドのプロジェクトを分かりやすく紹介。