GPUなしでもOK!オープンソースLLMを用いてローカル環境でAIの力を活用する方法を紹介

今回は、大規模言語モデル(LLM)をローカル環境で活用する「ローカルLLM」について、初心者の方にもわかりやすく解説していきます。

最近、ChatGPTをはじめとするLLMが話題を集めていますが、APIの仕様変更や入力内容の検閲などの問題から、自前でLLMを運用したいというニーズが高まっています。しかし、「ローカルLLMを動かすには高性能なGPUが必要で、機械学習の知識も必要そう…」と二の足を踏んでいる方も多いのではないでしょうか。

でも、安心してください。本記事では、GPUがなくてもCPUとメモリだけでローカルLLMを動かす方法や、専門知識がなくても簡単に使えるオープンソースのLLMをご紹介します。ぜひ、ローカルLLMの世界に飛び込んでみましょう!

1章 「ローカルLLM」とは

1-1. ローカルLLMの定義

ローカルLLMとは、一般向けに公開されたLLMのファイルを使って、自分のPC(ローカル環境)でLLMを使うことを指します。APIを介さずに直接LLMを動かすため、APIの仕様変更や入力内容の検閲などの影響を受けずに、自由にLLMを活用できるのが大きな特徴です。

クローズド LLMとの違い

クローズドLLMは、OpenAIのGPTシリーズのように企業が独占的に所有し、APIを通してのみ利用可能なモデルを指します。企業が大規模なリソースをもとに開発されたパラメータであるため、汎用的に使うのに適したモデルとなっています。

その代わり、内部動作についての調整パラメータなどはブラックボックスとなっているためユーザ側の調整は難しいと考えられます。

ローカルLLMの仕組み

ローカルLLMは、大量のテキストデータから言語の特徴を学習した大規模な言語モデルです。ユーザーが入力したテキストをもとに、ニューラルネットワークを使って最も適切な応答を生成します。この一連の処理を、自分のPCのCPUとメモリ上で行うのがローカルLLMの特徴です。

2章 ローカルLLMを使うメリット・注意点

ローカルLLMについて大まかに理解はできましたでしょうか?ここからは、実際にローカルLLMを使うにあたって気になるであろうメリットや注意点について説明していきます!

2-1. メリット

  • プライバシーの確保:データがサーバーに送信されないため、機密情報を安全に扱える

ChatGPTやClaudeといったクローズドLLMを使う際には、ユーザーメッセージや回答の内容が運営している企業のサーバに送信されます。

ChatGPTで会話データを利用しているかを確かめる方法

画像出典 OepnAI

こちらはChatGPTの設定画面から見ることができる会話データを学習に使用しているかどうかを確認できる画面となっています。このように、ChatGPTでは会話履歴を学習データに使っていることがわかります。

「Imrptove the model for everyone」がONになっていれば会話データが学習に使われているということになります。これをOFFにすると会話データの履歴も残らなくなるので注意してください!

オープンLLM を使えばこのような会話データの外部漏洩を防ぐことができます。

  • 費用対効果の高さ:APIを使う場合に比べて、長期的なコストを抑えられる

APIは従量課金制となっているので長期的に使っていくと永久的にコストを使うことになりますが、ローカルではその必要はありません。

  • カスタマイズの自由度:オープンソースのため、自分の用途に合わせて改変できる

LLM のパラメータを自分で調整できるので、用途に合わせて性能を調整できます。

  • グローバルに利用可能:インターネット接続がなくても利用できる

2-2. 注意点

  • ハードウェア要件:大規模なモデルほどメモリ容量を多く必要とする。
  • 推論速度:CPUでの推論はGPUに比べて時間がかかる場合がある。
  • モデルの品質:学習に使われたデータの品質によって、出力の精度は変わる。

    ハードウェア要件の目安

    ローカルLLMの動作に必要なメモリ容量は、モデルのパラメータ数に応じて変わります。おおまかな目安は以下の通りです。

    • 70億パラメータ:14GB(FP16)/ 7GB(INT8)/ 3.5GB(INT4)
    • 130億パラメータ:26GB(FP16)/ 13GB(INT8)/ 6.5GB(INT4)
    • 300億パラメータ:60GB(FP16)/ 30GB(INT8)/ 15GB(INT4)

      ここで、FP16(半精度浮動小数点数)、INT8(8ビット整数)、INT4(4ビット整数)は、モデルの量子化レベルを表します。量子化レベルが高いほどメモリ使用量を削減できますが、推論精度が低下する可能性があります。

      2-4. CPU推論を可能にする「Llama.cpp」

      最近、「Llama.cpp」というLLMのランタイムが登場し、話題を集めています。これは、MacBookのようなCPUしかない環境でもLLMを動かすことを目的としたプロジェクトです。

      Llama.cppを使えば、精度を多少犠牲にしつつも、CPUだけでLLMの推論が可能になります。推論速度はGPUに及ばないものの、小さめのパラメータのモデルを使うことで、実用的な速度を実現できるでしょう。

      このように、ハードウェア要件の壁は徐々に低くなりつつあります。今後、技術の進歩とともに、よりお手軽にローカルLLMを活用できる環境が整備されていくと期待されます。

      3章 おすすめオープンソースLLM

      ここまでオープンソースLLM全体の話をしてきましたが、実際に使うにあたって様々な種類のオープンソースLLMが存在します。この章では、いくつか代表的なオープンソースLLMについて簡単にご紹介いたします!

       Llama 2

      おそらく、こちらのLLM が1番名前に聞き馴染みがある人が多いのではないでしょうか?

      Meta(旧Facebook)が開発したオープンソースのLLMとなっています。70億、130億、700億パラメータの3つのサイズから選択可能、研究者や教育関係者に最適なモデルとなっています。モデルのダウンロードは公式サイトから!

      Llama2 ELYZAにプロンプトをした様子

      このモデル自体の日本語対応はそこまで精度が高くないです。しかしながら、ELYZA-japanese-Llama-2をはじめとした日本語に特化した学習をさせたモデルはかなり日本語の性能が高いです。詳しくはこちらの記事をご覧ください!

      日本語特化のLLM「ELYZA-japnese-Llama-2」の使い方を紹介!

       GPT-NeoX-20B

      GPT-3と似せたアーキテクチャを持つ自己回帰型言語モデルとなっています。The Eyeが提供する800GBのオープンデータセットでトレーニングされており、200億のパラメータを持つことが特徴となっています。

      GPT-3にはあえて似せたものなっているので、ローカル環境でChatGPTを使いたいという方はこちらを使うのが良いかもしれません。ダウンロードはHugging Faceから!

      BLOOM

      1,760億のパラメータを誇る大型のLLMで、(BigScience Large Open-science Open-access Multilingual Language Model)の頭文字をとってBLOOc Mと名付けられたようです

      46言語のデータセットでトレーニングされており、多言語タスクに強み。グローバル展開を目指す大企業に最適となっています。それもそのはず、この「BLOOM」自体が、世界中のAI研究者によってAI研究を促進する目的で開発されたようです。

       Falcon

      70億、400億、1,800億パラメータの3つのサイズを持つオープンソースLLMとなっています。

      この1800億パラメータという脅威的な数パラメータ数から、世界で最も強力なオープンアクセスLLMの一つとして知られています!ベンチテスト上では、 LLaMA 2 などの競合他社をも打ち負かしているようで性能も申し分ないです!また、商用、研究用どちらにも使うことができます!

      高品質のRefinedWebデータセットをベースに学習しており、Webサイト、マーケティング、投資分析、サイバーセキュリティ分野での活用に最適できそうです。

      ご利用はこちらの公式サイトから!

      4章 まとめ

      今回は、ローカルLLMについて解説しました。APIに頼らずにLLMを活用したい方や、プライバシーを確保したい方にとって、ローカルLLMは魅力的な選択肢と言えるでしょう。

      CPUとメモリがあれば、GPUがなくても量子化モデルを使うことでローカルLLMを動かすことができます。また、専門知識がなくても使いやすいオープンソースのLLMが多数公開されています。

      ただし、ハードウェア要件や推論速度など、注意点もあります。用途に合ったモデルを選び、適切な量子化レベルを設定することが大切です。

      ローカルLLMは、まだ発展途上の分野ですが、今後ますます身近な存在になっていくでしょう。プライバシーを守りながら、よりパーソナライズされた体験を提供するAIアプリケーションの開発が加速するかもしれません。

      皆さんもぜひ、ローカルLLMの世界に飛び込んでみてください!

      この記事は役に立ちましたか?

      もし参考になりましたら、下記のボタンで教えてください。

      関連記事

      コメント

      この記事へのコメントはありません。