- Published on
「alpaca-lora」のインストール・使い方
- Authors
- Name
- 章 有坂
- short bio
- オープンソースソフトウェアのトレンドを追いかけてます。
alpaca-loraは、Stanford Alpacaの結果を再現するためのコードを提供するプロジェクトで、これはLow Rank Adaptation (LoRA)を使用していますSource 0。
概要
このプロジェクトは、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。