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

「llama.cpp」のインストール・使い方

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

llama.cppは、Facebookの大規模言語モデルLLaMAの再現です。このプロジェクトは、LLaMAモデルを使用してテキストを生成し、さまざまな出力制限や指示モードをサポートしています。また、このプロジェクトはOpenLLaMA、Pygmalion 7B、Metharme 7Bなどの他のモデルもサポートしていますSource 0

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

インストール・導入方法

プロジェクトのセットアップは次の手順で行います:

  1. コードを取得します:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
  1. データを準備し、モデルを実行します:
# obtain the original LLaMA model weights and place them in ./models
ls ./models
65B 30B 13B 7B tokenizer_checklist.chk tokenizer.model
  # [Optional] for models using BPE tokenizers
  ls ./models
  65B 30B 13B 7B vocab.json

# install Python dependencies
python3 -m pip install -r requirements.txt

# convert the 7B model to ggml FP16 format
python3 convert.py models/7B/

  # [Optional] for models using BPE tokenizers
  python convert.py models/7B/ --vocabtype bpe

# quantize the model to 4-bits (using q4_0 method)
./quantize ./models/7B/ggml-model-f16.gguf ./models/7B/ggml-model-q4_0.gguf q4_0

# update the gguf filetype to current if older version is unsupported by another application
./quantize ./models/7B/ggml-model-q4_0.gguf ./models/7B/ggml-model-q4_0-v2.gguf COPY

# run the inference
./main -m ./models/7B/ggml-model-q4_0.gguf -n 128

Windowsで事前にビルドされたバイナリを使用する場合、リリースページから最新のzipパッケージをダウンロードして展開します。その後、ターミナル/cmdウィンドウを開き、.ggufモデルファイルを配置します。次のようにメインの例をテストします:

.\main -m llama-2-7b.Q4_0.gguf -n 128

使い方

このプロジェクトは、モデルの出力を制約するための文法をサポートしています。例えば、モデルがJSONのみを出力するように強制することができます:

./main -m ./models/13B/ggml-model-q4_0.gguf -n 256 --grammar-file grammars/json.gbnf -p 'Request: schedule a call at 8pm; Command:'

また、このプロジェクトは、Alpacaモデルを使用した指示モードもサポートしています。これを使用するには、まずggml Alpacaモデルを./modelsフォルダにダウンロードします。次に、以下のコマンドを実行します:

./examples/alpaca.sh

さらに、このプロジェクトは、OpenLLaMA、Pygmalion 7B、Metharme 7Bなどの他のモデルもサポートしています。これらのモデルを使用するには、各モデルの具体的な手順に従ってくださいSource 0

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

章 有坂

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