🍣

【超簡単手順】低スペックローカルPCで大規模言語モデル「LLaMA」を動かす!

2023/03/13に公開

ある日、Twitterを巡回していると

え...マジで?となりました。自分の専属AIを作りたい!と思い立ち、実際に動かしてみました。

目標

このようにローカルPC上でLLaMAとチャットできるようになります。

ただ、自分が使ったモデルは7Bモデルと言って、パラメータがあまり大きくない=あまり賢くないモデルだったので出力は変な感じになっています笑
(明らかにネットの会話を推論に引っ張ってきてますね...)

なので、今回はとりあえず動かしてみたい人向けです!精度などは気にせずお試しください。

ちなみに、自分はM1 MacBookAir(8Gメモリ)で動きました!信じられないぐらい遅いですが笑

Macユーザー向けに解説しますが、windows、linuxユーザーでもほとんど変わらないと思います。

手順

基本的にはこのgithubでの手順を踏んでいきます。

https://github.com/cocktailpeanut/dalai

  1. Node.js (npm) をインストール
  2. dalaiをインストール
  3. モデルのダウンロードと量子化
  4. localhostでweb/APIサーバーを立ち上げる
  5. 完成!

1. Node.js (npm) をインストール

dalaiではnpmコマンドを使うので、Node.jsをインストールしていない方はインストールしてください。

macだとbrewとかでちょっと面倒ですが、linuxやwindowsはすぐにできると思います。

こちらの方が書いた記事を参考に、インストールして見てください。
https://itc.tokyo/linux/install-npm/

npmと打ってこんな感じに表示されたらひとまず大丈夫です。

2. dalaiをインストール

以下のコマンドをターミナル上で実行してください。

npm install dalai

これで現在のディレクトリ内にnode_modules,package-lock.json,package.jsonが追加されると思います。

3. モデルのダウンロードと量子化

次に、以下のコマンドのどちらかをターミナル上で実行してください。

  1. 7B(一番小さいモデル)のみをダウンロードしたい場合
npx dalai llama
  1. 全てのモデルをダウンロードしたい場合(かなり容量を食うので注意!)
npx dalai llama 7B 13B 30B 65B

実行すると、User/ユーザー名/ の直下にdalaiというフォルダーが作成されています。
(これは任意のディレクトリに指定できるかは分かりません。勝手にこのディレクトリ上に作成されるっぽい?です)

ライブラリのインストール、モデルのダウンロード、量子ビット化が順に処理されていきます。

ライブラリのインストールではtorch,numpy,sentencepieceがインストールされます。

モデルのダウンロードは一番小さいモデルである7Bでも結構時間が掛かります。

30分ぐらいでダウンロードが完了します。

続いて、quantizeが実行されます。

ここではモデルの量子ビット化が行われます。

自分もあまり詳しく無いですが、まあ、なんかモデルを軽くするための変換処理だと考えて良いと思います。

うまくいくと、dalai/models/7Bggml-model-q4_0.bin というファイルが作成されていると思います。

これで準備はOK!いよいよローカルPCで推論していきます!

4. localhostでweb/APIサーバーを立ち上げる

以下のコマンドを実行してください。

npx dalai serve

started serverと表示されたら

http://localhost:3000 を開いてローカルホストを確認してください

こんな感じでUIが表示されていたら成功です!

試しに何か打ち込んでみましょう。

めちゃくちゃ遅いですが、何かを頑張って伝えてくれようとしてくれています!

流石に7BだとChatGPTみたいにスマートな返答はしてくれないようですね...

5. 完成!

これで完成!

ローカル上で動くのでセキュリティ的にも問題なさそう!

研究室専属のAIモデルを作ったりすると非常に良いかもですね。

何にせよこれだけのモデルをローカルで簡単に実行できるなんて素敵な時代ですね...

Discussion