【超簡単手順】低スペックローカルPCで大規模言語モデル「LLaMA」を動かす!
ある日、Twitterを巡回していると
え...マジで?となりました。自分の専属AIを作りたい!と思い立ち、実際に動かしてみました。
目標
このようにローカルPC上でLLaMAとチャットできるようになります。
ただ、自分が使ったモデルは7Bモデルと言って、パラメータがあまり大きくない=あまり賢くないモデルだったので出力は変な感じになっています笑
(明らかにネットの会話を推論に引っ張ってきてますね...)
なので、今回はとりあえず動かしてみたい人向けです!精度などは気にせずお試しください。
ちなみに、自分はM1 MacBookAir(8Gメモリ)で動きました!信じられないぐらい遅いですが笑
Macユーザー向けに解説しますが、windows、linuxユーザーでもほとんど変わらないと思います。
手順
基本的にはこのgithubでの手順を踏んでいきます。
- Node.js (npm) をインストール
- dalaiをインストール
- モデルのダウンロードと量子化
- localhostでweb/APIサーバーを立ち上げる
- 完成!
1. Node.js (npm) をインストール
dalaiではnpm
コマンドを使うので、Node.jsをインストールしていない方はインストールしてください。
macだとbrewとかでちょっと面倒ですが、linuxやwindowsはすぐにできると思います。
こちらの方が書いた記事を参考に、インストールして見てください。
npm
と打ってこんな感じに表示されたらひとまず大丈夫です。
2. dalaiをインストール
以下のコマンドをターミナル上で実行してください。
npm install dalai
これで現在のディレクトリ内にnode_modules
,package-lock.json
,package.json
が追加されると思います。
3. モデルのダウンロードと量子化
次に、以下のコマンドのどちらかをターミナル上で実行してください。
- 7B(一番小さいモデル)のみをダウンロードしたい場合
npx dalai llama
- 全てのモデルをダウンロードしたい場合(かなり容量を食うので注意!)
npx dalai llama 7B 13B 30B 65B
実行すると、User/ユーザー名/
の直下にdalai
というフォルダーが作成されています。
(これは任意のディレクトリに指定できるかは分かりません。勝手にこのディレクトリ上に作成されるっぽい?です)
ライブラリのインストール、モデルのダウンロード、量子ビット化が順に処理されていきます。
ライブラリのインストールではtorch
,numpy
,sentencepiece
がインストールされます。
モデルのダウンロードは一番小さいモデルである7Bでも結構時間が掛かります。
30分ぐらいでダウンロードが完了します。
続いて、quantize
が実行されます。
ここではモデルの量子ビット化が行われます。
自分もあまり詳しく無いですが、まあ、なんかモデルを軽くするための変換処理だと考えて良いと思います。
うまくいくと、dalai/models/7B
にggml-model-q4_0.bin
というファイルが作成されていると思います。
これで準備はOK!いよいよローカルPCで推論していきます!
4. localhostでweb/APIサーバーを立ち上げる
以下のコマンドを実行してください。
npx dalai serve
started server
と表示されたら
http://localhost:3000 を開いてローカルホストを確認してください
こんな感じでUIが表示されていたら成功です!
試しに何か打ち込んでみましょう。
めちゃくちゃ遅いですが、何かを頑張って伝えてくれようとしてくれています!
流石に7BだとChatGPTみたいにスマートな返答はしてくれないようですね...
5. 完成!
これで完成!
ローカル上で動くのでセキュリティ的にも問題なさそう!
研究室専属のAIモデルを作ったりすると非常に良いかもですね。
何にせよこれだけのモデルをローカルで簡単に実行できるなんて素敵な時代ですね...
Discussion