📙

M1/M2 Macのローカルで日本語対応のLLMを実行する(ELYZA版)

2023/10/24に公開

はじめに

Macのローカル環境で日本語対応のLLM動かしてみたい人向けの手順解説です。

llama.cppのmetalで、gguf形式のモデルを使用します。

環境構築

環境確認

makeのインストール確認

makeがインストールされているか確認します。

make --version

ここでバージョンが出てこない場合はインストールされていないので、homebrewを使ってmakeをインストールしておいてください。

wgetのインストール確認

wgetがインストールされているか確認します。

wget --version

make同様、バージョンが出てこない場合はインストールしておいてください。

llama.cppの環境構築

llama.cppのビルドを行います。

llama.cppはビルドされていない状態でgithub上で展開されているため、自分でビルドする必要があります。以下の手順で実行してください。

# llama.cppプロジェクトのダウンロード
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp

# matalでビルド
LLAMA_METAL=1 make

モデルのダウンロード

modelsディレクトリにllama2のモデルをダウンロードします。
gguf化されたものが既に展開されているので、今回はこちらを利用します。

https://huggingface.co/mmnga/ELYZA-japanese-Llama-2-7b-fast-instruct-gguf
※この方は他にも多数の日本語モデルのgguf化をされているのでMacでLLM使うならチェックをおすすめします。

Files and Versionsのタブの中を見ると複数のファイルがありますが、
ある程度のスペックがあるならELYZA-japanese-Llama-2-7b-fast-instruct-q8_0.ggufがおすすめです。

ダウンロードしたファイルはmodelsディレクトリの中に入れてください。

モデルの実行

llama.cppディレクトリ内で次のコマンドを実行します。

./main -m 'models/ELYZA-japanese-Llama-2-7b-fast-instruct-q8_0.gguf' -n 256 -p '[INST] <<SYS>>あなたは誠実で優秀な日本人のアシスタントです。<</SYS>>クマが海辺に行ってアザラシと友達になり、最終的には家に帰るというプロットの短編小説を書いてください。 [/INST]'

アウトプット

普通にクオリティ高いです。

ある日、大きな木の上で眠っていたクマは目覚めました。周辺を見回すと、木々の緑や、空の青色など、自然の美しさを感じることができました。まだ昼前だったので、クマは海辺を目指して歩き始めました。

しばらく歩くと、砂浜が見えてきました。そこにはアザラシの親子がいました。赤ちゃんアザラシは遊んでみたい気持ちでしたが、怖いのでなかなか近寄れずにいました。

「こんにちは」とクマが声をかけると、親アザラシも挨拶をしました。その様子を見た赤ちゃんアザラシも勇気を持ちまして、二匹のクマに近づいてきました。

以来、クマたちは仲良くなり、海辺で過ごすのが日課となりました。クマは木登りが得意なので、時々木の上に登り、海を眺めるのが好きでした。

ある日、クマが木の上で仰向けに寝そべっていると

まとめ

いかがだったでしょうか?

今回は話題のLLMの使い方をまとめました。

Macのスペック持て余している方は是非今回の手順で使ってみてください!

私のTwitterではLLMに限らず、AIを活用した業務改善情報の発信をしておりますのでご興味のある方は是非フォローをお願いします。
https://twitter.com/Linus_lab

Discussion