COLUMN
オープンソースなLLMとは?~基礎から利用方法まで解説~
近年の生成AI技術の進展は目覚ましく、大規模言語モデル(LLM: Large Language Model)の普及が急速に進んでいます。これらのモデルは、テキスト生成や翻訳、コード作成、情報検索など、多岐にわたるタスクに活用されています。多くのLLMは商用サービスとして提供されていますが、オープンソース(OSS)として公開されているものもあり、自由に利用・改変が可能です。本コラムでは、オープンソースLLMの概要とその利点、商用LLMとの違い、そして具体的な導入方法について詳しく解説します。特に、OllamaというOSSプラットフォームを利用した環境構築の手順も紹介しますので、オープンソースLLMの導入を検討されている方にとって有益な情報となるでしょう。まずは、オープンソースLLMの基本概念から始めましょう。
1. オープンソース LLMとは
近年、生成AI技術の発展により、大規模言語モデル(LLM: Large Language Model)が急速に普及しています。これらのモデルは、テキストの生成、翻訳、コードの作成、情報検索など、さまざまなタスクに活用されています。LLMの多くは商用サービスとして提供されていますが、オープンソース(OSS)として公開されているものもあり、自由に利用・改良が可能です。
1-1. オープンソースとは
オープンソースとは、ソフトウェアのソースコードが公開されており、誰でも自由に利用・改変・再配布できるライセンスのもとで提供されるソフトウェアを指します。代表的なオープンソースライセンスには、MITライセンス、Apacheライセンス、GNU GPL(General Public License)などがあります。これらのライセンスの違いは、主に改変後の再配布に関する条件にあります。オープンソースの利点は、自由にカスタマイズできる点や、コミュニティによる継続的な改良が行われる点にあります。また、ライセンス費用が不要なため、企業や個人がコストを抑えて利用できるのも大きな魅力です。
1-2. 商用LLMとの違い
商用(プロプライエタリ)LLMとは、OpenAIのGPT-4やGoogleのGemini、AnthropicのClaudeなど、企業が開発・提供する言語モデルのことを指します。これらのモデルは、一般的にGUIやAPI(Application Programming Interface)として提供され、利用には課金が必要です。一方、オープンソースLLMは、モデルの重みやコードが公開されており、誰でも自由にダウンロードして利用できます。例えば、Meta社のLlama 2やMistral AIのMistral 7Bは、商用利用も可能なオープンソースLLMの代表例です。
1-3. オープンソースLLMの種類
オープンソースLLMにはさまざまな種類がありますが、ここでは本コラム後半で紹介するOllamaというOSSで使用できる代表的なLLMをいくつか紹介します。※表記上のBは10億を表します。(32B: 320億)
QwQ
アリババクラウドが2024年11月に公開したオープンソースの推論特化型LLMです。Ollamaではパラメーター数32B(20GB)のモデルが利用できます。
DeepSeek-R1
DeepSeekが開発した推論に特化したLLMです。パラメーター数7B(4.7GB)と671B(404GB)のものが利用できます。
Llama 3.x
Meta社が開発したオープンソースLLMです。Ollamaでは3.1~3.3までのモデルが提供されており、豊富な選択肢が用意されています。
Phi 4
Microsoft社が開発したオープンソースLLMで、パラメーター数14B(9.1GB)のものと、Phi 4 Miniという3.8B(2.5GB)のモデルが利用できます。
Gemma 2
Googleが開発したオープンソースLLMです。パラメーター数は2B, 9B, 27B(1.6GB, 5.5GB, 16GB)のモデルを利用することが可能です。
参考:ollama/README.md at main · ollama/ollama · GitHub
1-4. オープンソースLLMを用いるメリット・デメリット
まずメリットとしては、商用APIのような従量課金が不要になるため、コスト低減が期待できる点が挙げられます。また、自分の用途に合わせて追加学習やチューニングが可能であるため、柔軟なカスタマイズ性も魅力の一つです。さらに、ローカル環境で動作することからデータ漏えいリスクが低く、プライバシー保護の観点でも優れています。加えて、コミュニティによる活発な改良や最適化が進められているため、オープンなエコシステムを活用できるという利点もあります。
一方、デメリットとしては、導入にあたって環境構築やチューニングに一定の技術的知識や手間が必要になることが挙げられます。また、多くの場合、高性能なGPUなどのハードウェア要件が求められるため、インフラ面でのハードルも存在します。さらに、商用LLMに比べて性能面でやや劣る場合もあり、用途によっては商用サービスの方が適切化されているケースも少なくありません。
そのため、オープンソースのLLMを採用する際には、こうしたメリットとデメリットを踏まえ、自分の目的や利用環境に最も適した選択をすることが重要です。
2. オープンソースLLMの利用方法
2-1. 構築の準備(ローカルGPU環境)
本コラムでは、ローカルPC環境で手軽に構築できるオープンソースLLMの実行環境例を紹介します。具体的には、Windows上でWSLを利用してPython仮想環境を構築します。その上で、OSSであるOllamaという手軽にオープンソースLLMが利用できるソフトを導入し、Pythonで実際にLLMに対して問い合わせを行うコードを実行してみます。
手元でGPUが利用できることを想定していますが、なくても実施可能内容になります。
環境構築を行うローカルPCの情報は以下になります。
- OS:Windows 11
- メモリ:32GB
- GPU:NVIDIA GeForce RTX 4070
- CUDA Version: 12.8
- WSL:Python 3.12.3 (Ubuntu)
2-2. 環境構築
環境構築の手順を具体的に説明します。
- 事前の準備
Windowsでの環境構築にあたり、NVIDIAドライバをインストールしておきます。
WSLでUbuntuのディストリビューションを利用できる状態にしておきます。
※nvidia-smiで上記のようなGPU情報が確認できればOKです。
次にWSL(bash)での手順を紹介します。
ライブラリのアップデート、アップグレードを行います。
sudo apt update
sudo apt upgrade -y
必要であれば仮想環境を作成する際に推奨されたバージョンをインストールします。
sudo apt install python3.12-venv
仮想環境を作成します。
python3 -m venv venv
仮想環境を開始します。
source venv/bin/activate
Ollamaをインストールします。
curl -fsSL https://ollama.com/install.sh | sh
※インストールが完了したことを確認します。
ollama -v
バージョン情報が表示されれば完了です。
次に利用するモデルをダウンロードします。今回はLlama3.2を利用します。
※利用できるモデルはこちらhttps://github.com/ollama/ollama/blob/main/README.md#quickstart
モデルをダウンロードして起動します。
ollama run llama3.2
完了すると以下のようにプロンプトを待ち受ける状態になります。
ダウンロード終了後、以下のコードを実行し、表示が確認できれば完了です。
ollama list
提供されているAPIを実行することも可能です。
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt":"Why is the sky blue?"
}'
※1単語ずつ出力されていることが伺えます。
最後にPythonのライブラリをインストールしてノートブックからの実行環境を整えます。
pip install ollama
正常に動作するか確認するために、チャット機能を利用してみます。
from ollama import chat
messages = [
{
'role': 'user',
'content': 'なぜ空は青いのですか??',
},
]
response = chat('llama3.2', messages=messages)
print(response['message']['content'])
※Ollamaを利用することで、簡単な操作で日本語の回答を得られることが確認できました。
2-3. 動作環境の評価
環境が正常に動作しているかを評価するには、CPUの使用率やメモリの使用量を確認します。また、プログラムの実行速度もわかりやすい指標となります。
また、OllamaがGPU上で動作していることを確認するためには、ollama psを実行して、表示を確認することが推奨されています。
3. 生成AIの活用ならNTT東日本にお任せください
NTT東日本では、生成AIの環境提供や活用促進に関するコンサルティング、生成AIのユースケース創出に向けた技術支援を行っております。
また、生成AI導入にあたってのガイドライン制定やセキュリティを遵守した生成AIシステム環境の構築などの支援を行っています。
NTT東日本の提供する生成AIソリューションについてはこちらからお気軽にお問い合わせください。
4. まとめ
本コラムでは、オープンソースLLMの概要とOllamaを使った環境構築の一例を紹介しました。オープンソースLLMは、自由に利用・改変可能な大規模言語モデルです。商用LLMと異なり、コストを抑えつつプライバシーを確保でき、カスタマイズが可能です。OllamaはオープンソースLLMを利用する上で便利なプラットフォームであり、さまざまなモデルが数回のコマンド操作で利用できる環境を提供しています。近年は商用LLMの先端モデルに肉薄する回答品質のオープンソースLLMもリリースされているような状況です。今後もオープンソースLLMへの注目は続きそうです。
生成AI活用についてのお悩みはこちらからNTT東日本にお問い合わせください!
- Phi4は、Microsoft Corporationの米国及びその他の国における登録商標または商標です。
- Google Cloud, Gemini, Gemma2は、Google LLC の商標または登録商標です。
- Llama2はMeta Platforms, Inc.の商標または登録商標です。
- ClaudeはAnthropic PBCの商標または登録商標です。
- Mistral 7B はMistral AI SASの商標または登録商標です。
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。