OSSのLLM
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>テキスト生成系(Transformer系)]] > [[開発系>テキ...
--[[OpenAI]]
--[[Azure OpenAI>https://techinfoofmicrosofttech.osscons....
--OSSのLLM
--[[LLM系ツール]]
*目次 [#i5821975]
#contents
*概要 [#fed29e38]
OSS(オープンソース)のLLMは、ローカルマシンやオンプレミ...
クラウドサービスに依存せずに利用でき、機密情報を扱うクロ...
*詳細 [#o1259357]
**注意点 [#s70f49fb]
***ライセンスの確認 [#a45e2a4e]
-ライセンス形態を確認し、商業利用や再配布の条件を理解。
-ライセンス条項を確認しプロジェクトやビジネスへの適用可能...
※ [[OSSのライセンス]]
***コミュニティの活発度 [#fa38ce1d]
コミュニティの活動状況を確認。
-活発なコミュニティは、
--質問やサポートを得易い。
--バグ修正や機能改善が迅速に行われる可能性が高い。
-GitHubを参考にする。
--スター数
--フォーク数
--プルリクエスト数
***ベンチマークと評価 [#a904c768]
-性能を評価するためのベンチマークテストを実施。
-既存のベンチマーク結果や評価レポートを確認
-自社の使用ケースに対する適用性を検討。
***性能とスケーラビリティ [#q39f1617]
-項目
--モデルの性能(応答速度、精度)
--スケーラビリティ(負荷分散、水平スケーリング)
-環境
--大規模なデータセット
--高トラフィック環境
***ハルシネーション・バイアスなど [#t34aa11a]
-LLMの生成する出力が虚偽情報や偏見を含む可能性があるため...
-これらの問題を緩和するための対策(フィルタリング、ポスト...
***メンテナンスとサポート [#y86bcf08]
OSS LLMのメンテナンス体制とサポート体制を確認。
-商用版のサポートがあるか?
-開発が活発に行われているか?
-バグフィックスやセキュリティ・アップデートが定期的に提供...
***カスタマイズの容易さ [#qbd67d89]
-自社のニーズに合わせたカスタマイズの容易さを評価。
-開発が簡単かどうかを確認
--コードの理解し易さ
--ドキュメントの充実度
--プラグインやエクステンション
***データ保護 [#t3c3fd35]
モデルのトレーニングや推論に使用するデータの保護を確認。
-著作権侵害や情報漏洩に繋がらないように対策が施されている...
-なお、アクセス制御、セキュリティ対策は構築で確保する。
**モデル [#f0754ba6]
***Llama [#bbf49688]
-Metaによって開発、リコーなどで導入事例あり。
-事前学習済みのLlamaを動かす情報はネットにも確認できる。
***Gemma [#b4ce0258]
-Googleによって開発、企業での導入事例は発見できず。
-事前学習済みのGemmaを動かす情報はネットにも確認できる。
***Phi-3 [#ff0c879d]
-MicrosoftがSLM(Small Language Model)として開発したPhi-3...
-事前学習済みのPhi-3を動かす情報はネットにも確認できる。
***Mixtral [#g06c811d]
-Mistral AIによって開発、SB、楽天、トヨタなどで導入事例あ...
-事前学習済みのMistral AIを動かす情報はネットにも確認でき...
***Falcon [#e0073df4]
アブダビのTechnology Innovation Institute(TII)によって...
***BLOOM [#n03f17c7]
BigScienceという協力的AI研究ワークショップによって開発
***EleutherAI [#gf9c4735]
草の根の非営利の人工知能研究グループによって開発
***Qwen2 [#x786b39f]
-アリババによって開発、企業での導入事例は発見できず。
-事前学習済みのQwen2を動かす情報はネットにも確認できる。
***CodeGen [#ncfe03cc]
Salesforceが提供するLLM
***Databricks [#n1be7b69]
AI/BI系のプラットフォームベンダで、色々なOSSをホストして...
-Llama 2
-Dolly([[EleutherAI系>#gf9c4735]])
-DBRX(Databricks謹製)
**フォーマット [#d5bd81da]
GGML、GGUF、GPTQは、主にLLMの軽量化・実行する際の 形式・...
***GGML [#a58fc05f]
(Georgi Gerganov's ML Library)
-llama.cpp推論エンジンから利用する。
-特にCPUやGPUなし低リソース環境でもLLMを推論できるよう最...
-C/C++で書かれた、軽量な機械学習ライブラリとモデルの独自...
-統一規格ではなく、実装者により異なるバージョンが存在して...
***GGUF [#sd779976]
(GGML Universal Format)
-GGMLの独自バイナリ形式の進化形の後継で、より汎用性と互換...
-メタデータ、トークナイザ、量子化情報を1ファイルに格納、...
-軽量化・推論専用に最適化された形式で、推論のみが目的とな...
-多くのローカル実行系(llama.cpp、text-generation-webuiな...
***GPTQ [#v3e3476b]
(GPT Quantization)
-Hugging Face Transformersライブラリから利用する。
-学習済みモデルに対して量子化を施すツール、方式、形式
-サイズと推論コスト(メモリ・速度)を大幅に削減し、精度も...
--2bit, 3bit, 4bitなどへの量子化が可能
--Transformer層ごとに最適なスケーリングを行うことで、精度...
-よく使われる形式
|項目|旧形式|Hugging Face形式|h
|ファイル形式|PyTorchバイナリ(.bin)|[[HF標準構成>#zbe35...
|互換性|限定的(専用コード必要)|AutoGPTQ, transformers ...
|配布|zipやgitで配布|Hugging Face Hubで共有|
|安全性・速度|通常の.binは非検証|.safetensorsで検証&高速|
|推奨度|過去の形式、現在は非推奨|標準化されており現在の主...
-[[HF標準構成>#zbe3597d]]の場合の構成
your-gptq-model/
├── model.safetensors ← GPTQで量子化された重み...
├── config.json ← 通常のTransformers config
├── tokenizer.* ← トークナイザ設定
├── quantize_config.json ← GPTQ量子化の設定情報
***図表 [#wf1cff93]
|項目|GGML|GGUF|GPTQ|h
|種類|推論実行ライブラリ兼モデルフォーマット|モデルフォー...
|主な用途|軽量モデルの実行|モデル配布・互換性統一|モデル...
|関連技術|llama.cpp|llama.cpp, koboldcpp など|ExLlama, Au...
|主な形式|.bin(旧)|.gguf(新)|.bin(旧), .safetensors...
┌──────────────┐
│ llama.cpp │ ← 実際の推論エンジン
└────┬─────────┘
│ uses
▼
┌──────────────┐
│ GGML │ ← テンソル演算ライブラリ(中核)
└──────────────┘
▲
uses models in │
▼
┌──────────────┐
│ GGUF │ ← モデルファイルフォーマット
└──────────────┘
**HF標準構成 [#zbe3597d]
-Hugging Face Transformersライブラリ※1と互換性のあるモデ...
-モデルの再利用・共有・ロード・保存をスムーズに行うために...
-※1:
--Hugging Face が開発したOSSのTransformersライブラリ
--もともと PyTorch ベースで開発されたライブラリ
--現在は[[TensorFlow>TensorFlow・Keras]], Flaxにも部分的...
--ただし、PyTorch が最も優先されており、最新機能も先に Py...
|形式|内容|詳細|備考|h
|Transformers形式|`pytorch_model.bin`, `tf_model.h5`, `fl...
|Safetensors形式| `.safetensors` というバイナリ形式|Huggi...
***Transformers形式 [#kc696d82]
-ディレクトリ構成
my_model_directory/
├── config.json
├── pytorch_model.bin
├── tokenizer_config.json
├── vocab.txt / merges.txt / tokenizer.json
├── special_tokens_map.json
├── generation_config.json
└── added_tokens.json
-ファイルの説明
|ファイル|説明|h
|config.json(必須)|モデルアーキテクチャの設定|
|pytorch_model.bin, tf_model.h5, flax_model.msgpack|PyTor...
|tokenizer_config.json|トークナイザの設定情報|
|vocab.txt, merges.txt, tokenizer.json|トークナイザの語彙...
|special_tokens_map.json|トークンのマッピング情報([CLS], ...
|generation_config.json|テキスト生成関連のパラメータ(max...
|added_tokens.json(任意)|ユーザーが追加したトークンの情...
***Safetensors形式 [#xd1467fb]
-ディレクトリ構成
my_model_directory/
├── config.json
├── model.safetensors ← PyTorch版の重み
├── tokenizer_config.json
├── vocab.txt / merges.txt / tokenizer.json
├── special_tokens_map.json
└── generation_config.json
-Safetensorsの特徴
|特徴|内容|h
|安全性|Pythonのpickleを使わないため、読み込み時に任意コ...
|高速性|バイナリ形式で効率的にメモリマッピングされるため...
|一貫性|ファイルを開かなくても中身(テンソル名・形状)を...
|互換性|主にPyTorchとHF Transformersで広く使われているが...
**検環環境 [#aa81fc3e]
***VM費用見積もり [#j66a9045]
-稼働時間~
5(営業日/週) * 4(週/月)* 3(時間/日)= 60(時間/月)...
※ 1か月フル稼働は730時間なので30/730 = 0.04ヵ月分(つまり...
-VMサイズ~
SLM推論実行などではギリギリ不要だが、LLM実行やファインチ...
--LLaMA 3 1B、Phi-3は(GPUを実装しない)ノートPCでも動作...
--LLaMA 3 8BにはGPUが必要で、
---必要なVMサイズは、AzureでNC4as_T4_v3辺りで、
---コレは、0.5-1万/月、一か月上げっぱなすと10-20万
--小さなモデルをファインチューニングをする場合、
---必要なVMサイズは、GPUのVRAMが24GBほど必要で、
---AzureでStandard_NV36ads_A10_v5(Nvidia A10)位のスペッ...
---コレは、1.5万/月、一か月上げっぱなすと30-50万
--大規模言語モデル(LLaMA 3 70B)を稼働させる場合、
---AzureでND96asr_A100_v4(Nvidia A100)位のスペックが必...
---コレは、10万/月(無理(笑))、一か月上げっぱなすと300万
---あまりに高額なので、調べるとA100は1枚で$11,000(約163...
-付帯費用~
Azureバッション2万/月など
-実費総額
--コレはミニマム環境なので、予算としては、5万/月ほどある...
--リージョンを変えると価格が大きく変わるので、検証用途な...
***GPU付きVMを準備 [#we26e9ac]
-使用可能なVMサイズを表示
az vm list-sizes --location japaneast --output table --q...
--Standard_NのVM は NVIDIA GPU が搭載されている。
--Standard_NC8as_T4_v3 は時間1ドル程度らしい。
-[[以下の変数を変更>Ubuntu 24.04 on Azure via Bastion 202...
vmSize=Standard_NC8as_T4_v3
vmOS=Ubuntu2404
vmName=GPU-VM1
vmUser=XXXX
vmPassword=XXXX
-az vm create
--JumpBox~
https://github.com/OpenTouryoProject/DxCommon/tree/master...
--Sandbox~
https://github.com/OpenTouryoProject/DxCommon/tree/master...
***インストレーション [#p7fc71c4]
-最終的に、GPUはフレームワークから使用するので、フレーム...
(PyTorch安定版(2.7.0)には Python 3.9 以降、CUDA 12.8が...
-Linux 用 Azure N シリーズ GPU ドライバーのセットアップ -...
https://learn.microsoft.com/en-us/azure/virtual-machines/...
-手順の事前確認
--[[Ubuntuの基本的な構成>Ubuntu 24.04 on Azure via Bastio...
--NVIDIAドライバ・インストール時にハングるので、セキュア ...
https://learn.microsoft.com/ja-jp/azure/virtual-machines/...
以下のコマンドでも行けるっぽい(VMを停止してから実行)。
az vm update \
--resource-group <RG名> \
--name <VM名> \
--set securityProfile.uefiSettings.secureBootEnabled=f...
securityProfile.uefiSettings.vTpmEnabled=false
--GPU 割り当て確認
---PCIバス接続デバイス情報を表示
lspci | grep -i nvidia
0001:00:00.0 3D controller: NVIDIA Corporation TU104GL [...
---NVIDIA製GPUドライバ情報を表示~
ココで認識できていれば、NVIDIAドライバのインストールは不...
nvidia-smi
Command 'nvidia-smi' not found, but can be installed with:
sudo apt install nvidia-utils-...
--既存ドライバがある場合、削除(再構成時はこの手順が必要
sudo apt --purge remove -y nvidia-*
sudo apt --purge remove -y cuda-*
sudo apt --purge remove -y libcudnn*
sudo apt --purge remove -y cudnn-*
sudo apt autoremove -y
sudo reboot
-NVIDIAドライバのインストール~
--ubuntu-drivers ユーティリティをインストール
sudo apt update && sudo apt install -y ubuntu-drivers-co...
--最新版をインストール(Azureの手順はコッチ)
sudo ubuntu-drivers install
--recommendedを確認してインストール
ubuntu-drivers devices
...
driver : nvidia-driver-575-open - third-party non-free...
...
---recommendedをインストール~
・自動
sudo ubuntu-drivers autoinstall
・手動
sudo apt install -y nvidia-driver-535(例)
--Your system has UEFI Secure Boot enabled. UEFI Secure B...
というエラーが出たら「セキュア ブート」「vTPM」無効化の手...
--再起動
sudo reboot
--NVIDIAドライバの確認
---NVIDIAドライバロードの確認
sudo dmesg | grep -i nvidia
---NVIDIA製GPUドライバ情報を表示
nvidia-smi
Wed May 14 09:29:03 2025
+-------------------------------------------------------...
| NVIDIA-SMI 535.230.02 Driver Version: 535....
|-----------------------------------------+-------------...
| GPU Name Persistence-M | Bus-Id ...
| Fan Temp Perf Pwr:Usage/Cap | Memo...
| | ...
|=========================================+=============...
| 0 Tesla T4 Off | 00000001:00:...
| N/A 32C P8 11W / 70W | 84MiB / ...
| | ...
+-----------------------------------------+-------------...
...
+-------------------------------------------------------...
| Processes: ...
| GPU GI CI PID Type Process name ...
| ID ID ...
|=======================================================...
| 0 N/A N/A 1129 G /usr/lib/xorg/Xorg ...
+-------------------------------------------------------...
※ 表示されているCUDAバージョンは、当該NVIDIAドライバが対...
-CUDA Toolkitのインストール~
「CUDA Version: 12.2」なので12.2以下のインストールが望ま...
(実行バイナリを作成する際に --gpu-architecture=compute_7...
--Azure
wget https://developer.download.nvidia.com/compute/cuda/...
sudo apt install -y ./cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt -y install cuda-toolkit-12-5
--各バージョン
---CUDA Toolkit Archiveにアクセス~
https://developer.nvidia.com/cuda-toolkit-archive
---当該バージョンのインストレーションを実行(※ deb_networ...
https://developer.nvidia.com/cuda-12-8-0-download-archive...
wget https://developer.download.nvidia.com/compute/cuda/...
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8
--再起動
sudo reboot
--CUDAバージョン情報の確認~
CUDA ToolKitとともにインストールされる CUDA C++ のコンパ...
nvcc の -V オプションで(≒ CUDA ToolKit ≒ CUDAの)バージ...
---nvccを実行するには、環境変数 PATH に CUDA の bin ディ...
export PATH=/usr/local/cuda/bin:$PATH
---nvcc の -V オプションを実行すると、以下のように表示さ...
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0
-cuDNNnのインストールはパス。
--推奨とされていたが、現在のPyTorchにcuDNNは不要らしい。~
CUDA 12.8 に対応する cuDNN のバージョンは、cuDNN 8.9.7。
--cuDNNのサイトのチェック~
https://developer.nvidia.com/
--ver9未満のインストレーションのナビゲーションがよろしく...
https://developer.nvidia.com/cudnn-archive
-展開後のドライバ定期更新
sudo apt update
sudo apt full-upgrade
***Python 環境で確認 [#kbea4331]
-pythonのバージョンを確認
python3 -V
Python 3.12.3
-pythonのパッケージマネージャーpipをインストール
sudo apt install python3-pip
-[[コチラ>WSL2 Ubuntu 24.04 LTS 2025/1/21#m8a520c5]]の手...
--venvをインストールする。
sudo apt install python3-venv
--仮想環境作成
python3 -m venv .python3_venv
--アクティブ化(環境外から実行)
source .python3_venv/bin/activate
--非アクティブ化(環境内から実行)
deactivate
-フレームワークをインストール~
仮想環境の「外」でやるか「中」でやるかは要検討だが、「外...
--ERROR: Could not install packages due to an OSError: [E...
---pipキャッシュをクリア
pip cache purge
---FS内のFSの量を表示
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 29G 23G 5.2G 82% /
tmpfs 28G 0 28G 0% /dev/shm
tmpfs 11G 1.3M 11G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
efivarfs 128K 35K 89K 28% /sys/firmware/efi/...
/dev/sda16 881M 60M 760M 8% /boot
/dev/sda15 105M 6.2M 99M 6% /boot/efi
/dev/sdb1 346G 32K 328G 1% /mnt
tmpfs 5.5G 108K 5.5G 1% /run/user/112
tmpfs 5.5G 112K 5.5G 1% /run/user/1000
---/mntが大きそうなのでココにワーク領域を作成
sudo mkdir -p /mnt/tmp
sudo chmod 1777 /mnt/tmp
--ワーク領域を指定してGPU対応版をインストール
---「TMPDIR=/mnt/tmp pip」として、unpackingフォルダを指定
---index-urlでCUDA対応版を明示してGPU対応版をインストール
TMPDIR=/mnt/tmp pip install torch torchvision torchaudio...
---CUDAが古い場合、torch系のバージョン番号を指定。https:/...
TMPDIR=/mnt/tmp pip install torch==2.6.0 torchvision==0....
--バージョン確認
---torch 2.7.0+cu...を想定
$ pip list
Package Version
------------------------- --------------
...
torch 2.7.0+cu128
torchaudio 2.7.0+cu128
torchvision 0.22.0+cu128
...
---torch 2.7.0+cu...を想定
$ pip list
Package Version
------------------------- --------------
...
torch 2.6.0+cu124
torchaudio 2.6.0+cu124
torchvision 0.21.0+cu124
...
--実行確認(インタラクティブ実行で)
python3
>>> import torch
>>> print(torch.cuda.is_available()) # TrueならOK
True
>>> print(torch.cuda.get_device_name(0)) # GPU名表示
Tesla T4
-CUDA環境の動作確認
--PyCUDA、PyTorch、TensorFlowなど、なにを使用して確認する...
--https://github.com/OpenTouryoProject/DxCommon/blob/mast...
***[[ディスク追加>Ubuntu 24.04 on Azure via Bastion 2025/...
***Dockerを使用 [#u030f074]
以下のような
-VMがドライバ
-DockerがCUDA
-venvがpip
役割分担で保守性向上
*参考 [#v87b06bf]
-深層学習についてのレポート(LLM編)~
https://www.osscons.jp/joho108j0-537/#_537
**環境準備 [#s2034df1]
***VM費用見積もり [#y54fc6ec]
-料金計算ツール | Microsoft Azure~
https://azure.microsoft.com/ja-jp/pricing/calculator/
--料金 - Linux Virtual Machines | Microsoft Azure~
https://azure.microsoft.com/ja-jp/pricing/details/virtual...
-AzureのGPU搭載VMを安い順に並べる(2023年9月版)|saip(さ...
https://note.com/sa1p/n/n0485cd0d8a04
-Azureの仮想マシンでNVIDIA A100 GPUを使用する~
https://zenn.dev/headwaters/articles/4a714937c9d17c
-【UiPath】AWS/Azure仮想マシンでローカルLLM環境を構築する...
https://qiita.com/hidecha/items/dba9e863d3651989bfc3
-Llama-3をColabで記事執筆用にファインチューニングしてみた~
https://zenn.dev/carenet/articles/0d2e1100121b0e
-LLaMA 3を本番環境に導入するには?~
https://nlpcloud.com/ja/how-to-install-and-deploy-llama-3...
***GPUを認識させる [#e6edf116]
-Linux 用 Azure N シリーズ GPU ドライバーのセットアップ -...
https://learn.microsoft.com/en-us/azure/virtual-machines/...
-Qiita
--【Ubuntu 24.04 LTS】NVIDIAドライバおよびCUDAのインスト...
https://qiita.com/YaezakuraP/items/507a7a9713b4e6f63f4b
--ubuntuにCUDA、nvidiaドライバをインストールするメモ #Ubu...
https://qiita.com/porizou1/items/74d8264d6381ee2941bd
--【UiPath】AWS/Azure仮想マシンでローカルLLM環境を構築す...
https://qiita.com/hidecha/items/dba9e863d3651989bfc3
--Your system has UEFI Secure Boot enabled. UEFI Secure B...
https://qiita.com/Yorozuya59/items/499a632cce827a912918
--NVIDIAのドライバをUbuntuにインストールするときにハマっ...
https://qiita.com/abehiro/items/81af20369099a303b855
--PyTorchとGPU/CUDA周りの環境構築のバージョン解決 #Ubuntu~
https://qiita.com/ketaro-m/items/4de2bd3101bcb6a6b668
-その他
--OCI Ubuntu 24.04にNVIDIA GPU DriverとCUDAをインストール...
https://zenn.dev/shukawam/scraps/44f9cdf3df70ff
--GPUを使った機械学習の環境を作るためにすること/しないこ...
https://zenn.dev/yuyakato/articles/6915e735bc6aa5
**ツール類 [#m585a48a]
***[[Ollama]] [#q003a352]
***Notebook [#a5363075]
-DxCommon/Notebook/Jupyter/path at master · OpenTouryoPro...
https://github.com/OpenTouryoProject/DxCommon/tree/master...
--LLM_Ollama.ipynb
--LLM_Streamlit.py
--,etc.
-LLMの実行方法と周辺ツールまとめ #OpenAI~
https://qiita.com/simakihiro/items/7467b849212fb3863e3b
-LLM Tools - Ranking | OSS Insight~
https://ossinsight.io/collections/llm-tools/
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>テキスト生成系(Transformer系)]] > [[開発系>テキ...
--[[OpenAI]]
--[[Azure OpenAI>https://techinfoofmicrosofttech.osscons....
--OSSのLLM
--[[LLM系ツール]]
*目次 [#i5821975]
#contents
*概要 [#fed29e38]
OSS(オープンソース)のLLMは、ローカルマシンやオンプレミ...
クラウドサービスに依存せずに利用でき、機密情報を扱うクロ...
*詳細 [#o1259357]
**注意点 [#s70f49fb]
***ライセンスの確認 [#a45e2a4e]
-ライセンス形態を確認し、商業利用や再配布の条件を理解。
-ライセンス条項を確認しプロジェクトやビジネスへの適用可能...
※ [[OSSのライセンス]]
***コミュニティの活発度 [#fa38ce1d]
コミュニティの活動状況を確認。
-活発なコミュニティは、
--質問やサポートを得易い。
--バグ修正や機能改善が迅速に行われる可能性が高い。
-GitHubを参考にする。
--スター数
--フォーク数
--プルリクエスト数
***ベンチマークと評価 [#a904c768]
-性能を評価するためのベンチマークテストを実施。
-既存のベンチマーク結果や評価レポートを確認
-自社の使用ケースに対する適用性を検討。
***性能とスケーラビリティ [#q39f1617]
-項目
--モデルの性能(応答速度、精度)
--スケーラビリティ(負荷分散、水平スケーリング)
-環境
--大規模なデータセット
--高トラフィック環境
***ハルシネーション・バイアスなど [#t34aa11a]
-LLMの生成する出力が虚偽情報や偏見を含む可能性があるため...
-これらの問題を緩和するための対策(フィルタリング、ポスト...
***メンテナンスとサポート [#y86bcf08]
OSS LLMのメンテナンス体制とサポート体制を確認。
-商用版のサポートがあるか?
-開発が活発に行われているか?
-バグフィックスやセキュリティ・アップデートが定期的に提供...
***カスタマイズの容易さ [#qbd67d89]
-自社のニーズに合わせたカスタマイズの容易さを評価。
-開発が簡単かどうかを確認
--コードの理解し易さ
--ドキュメントの充実度
--プラグインやエクステンション
***データ保護 [#t3c3fd35]
モデルのトレーニングや推論に使用するデータの保護を確認。
-著作権侵害や情報漏洩に繋がらないように対策が施されている...
-なお、アクセス制御、セキュリティ対策は構築で確保する。
**モデル [#f0754ba6]
***Llama [#bbf49688]
-Metaによって開発、リコーなどで導入事例あり。
-事前学習済みのLlamaを動かす情報はネットにも確認できる。
***Gemma [#b4ce0258]
-Googleによって開発、企業での導入事例は発見できず。
-事前学習済みのGemmaを動かす情報はネットにも確認できる。
***Phi-3 [#ff0c879d]
-MicrosoftがSLM(Small Language Model)として開発したPhi-3...
-事前学習済みのPhi-3を動かす情報はネットにも確認できる。
***Mixtral [#g06c811d]
-Mistral AIによって開発、SB、楽天、トヨタなどで導入事例あ...
-事前学習済みのMistral AIを動かす情報はネットにも確認でき...
***Falcon [#e0073df4]
アブダビのTechnology Innovation Institute(TII)によって...
***BLOOM [#n03f17c7]
BigScienceという協力的AI研究ワークショップによって開発
***EleutherAI [#gf9c4735]
草の根の非営利の人工知能研究グループによって開発
***Qwen2 [#x786b39f]
-アリババによって開発、企業での導入事例は発見できず。
-事前学習済みのQwen2を動かす情報はネットにも確認できる。
***CodeGen [#ncfe03cc]
Salesforceが提供するLLM
***Databricks [#n1be7b69]
AI/BI系のプラットフォームベンダで、色々なOSSをホストして...
-Llama 2
-Dolly([[EleutherAI系>#gf9c4735]])
-DBRX(Databricks謹製)
**フォーマット [#d5bd81da]
GGML、GGUF、GPTQは、主にLLMの軽量化・実行する際の 形式・...
***GGML [#a58fc05f]
(Georgi Gerganov's ML Library)
-llama.cpp推論エンジンから利用する。
-特にCPUやGPUなし低リソース環境でもLLMを推論できるよう最...
-C/C++で書かれた、軽量な機械学習ライブラリとモデルの独自...
-統一規格ではなく、実装者により異なるバージョンが存在して...
***GGUF [#sd779976]
(GGML Universal Format)
-GGMLの独自バイナリ形式の進化形の後継で、より汎用性と互換...
-メタデータ、トークナイザ、量子化情報を1ファイルに格納、...
-軽量化・推論専用に最適化された形式で、推論のみが目的とな...
-多くのローカル実行系(llama.cpp、text-generation-webuiな...
***GPTQ [#v3e3476b]
(GPT Quantization)
-Hugging Face Transformersライブラリから利用する。
-学習済みモデルに対して量子化を施すツール、方式、形式
-サイズと推論コスト(メモリ・速度)を大幅に削減し、精度も...
--2bit, 3bit, 4bitなどへの量子化が可能
--Transformer層ごとに最適なスケーリングを行うことで、精度...
-よく使われる形式
|項目|旧形式|Hugging Face形式|h
|ファイル形式|PyTorchバイナリ(.bin)|[[HF標準構成>#zbe35...
|互換性|限定的(専用コード必要)|AutoGPTQ, transformers ...
|配布|zipやgitで配布|Hugging Face Hubで共有|
|安全性・速度|通常の.binは非検証|.safetensorsで検証&高速|
|推奨度|過去の形式、現在は非推奨|標準化されており現在の主...
-[[HF標準構成>#zbe3597d]]の場合の構成
your-gptq-model/
├── model.safetensors ← GPTQで量子化された重み...
├── config.json ← 通常のTransformers config
├── tokenizer.* ← トークナイザ設定
├── quantize_config.json ← GPTQ量子化の設定情報
***図表 [#wf1cff93]
|項目|GGML|GGUF|GPTQ|h
|種類|推論実行ライブラリ兼モデルフォーマット|モデルフォー...
|主な用途|軽量モデルの実行|モデル配布・互換性統一|モデル...
|関連技術|llama.cpp|llama.cpp, koboldcpp など|ExLlama, Au...
|主な形式|.bin(旧)|.gguf(新)|.bin(旧), .safetensors...
┌──────────────┐
│ llama.cpp │ ← 実際の推論エンジン
└────┬─────────┘
│ uses
▼
┌──────────────┐
│ GGML │ ← テンソル演算ライブラリ(中核)
└──────────────┘
▲
uses models in │
▼
┌──────────────┐
│ GGUF │ ← モデルファイルフォーマット
└──────────────┘
**HF標準構成 [#zbe3597d]
-Hugging Face Transformersライブラリ※1と互換性のあるモデ...
-モデルの再利用・共有・ロード・保存をスムーズに行うために...
-※1:
--Hugging Face が開発したOSSのTransformersライブラリ
--もともと PyTorch ベースで開発されたライブラリ
--現在は[[TensorFlow>TensorFlow・Keras]], Flaxにも部分的...
--ただし、PyTorch が最も優先されており、最新機能も先に Py...
|形式|内容|詳細|備考|h
|Transformers形式|`pytorch_model.bin`, `tf_model.h5`, `fl...
|Safetensors形式| `.safetensors` というバイナリ形式|Huggi...
***Transformers形式 [#kc696d82]
-ディレクトリ構成
my_model_directory/
├── config.json
├── pytorch_model.bin
├── tokenizer_config.json
├── vocab.txt / merges.txt / tokenizer.json
├── special_tokens_map.json
├── generation_config.json
└── added_tokens.json
-ファイルの説明
|ファイル|説明|h
|config.json(必須)|モデルアーキテクチャの設定|
|pytorch_model.bin, tf_model.h5, flax_model.msgpack|PyTor...
|tokenizer_config.json|トークナイザの設定情報|
|vocab.txt, merges.txt, tokenizer.json|トークナイザの語彙...
|special_tokens_map.json|トークンのマッピング情報([CLS], ...
|generation_config.json|テキスト生成関連のパラメータ(max...
|added_tokens.json(任意)|ユーザーが追加したトークンの情...
***Safetensors形式 [#xd1467fb]
-ディレクトリ構成
my_model_directory/
├── config.json
├── model.safetensors ← PyTorch版の重み
├── tokenizer_config.json
├── vocab.txt / merges.txt / tokenizer.json
├── special_tokens_map.json
└── generation_config.json
-Safetensorsの特徴
|特徴|内容|h
|安全性|Pythonのpickleを使わないため、読み込み時に任意コ...
|高速性|バイナリ形式で効率的にメモリマッピングされるため...
|一貫性|ファイルを開かなくても中身(テンソル名・形状)を...
|互換性|主にPyTorchとHF Transformersで広く使われているが...
**検環環境 [#aa81fc3e]
***VM費用見積もり [#j66a9045]
-稼働時間~
5(営業日/週) * 4(週/月)* 3(時間/日)= 60(時間/月)...
※ 1か月フル稼働は730時間なので30/730 = 0.04ヵ月分(つまり...
-VMサイズ~
SLM推論実行などではギリギリ不要だが、LLM実行やファインチ...
--LLaMA 3 1B、Phi-3は(GPUを実装しない)ノートPCでも動作...
--LLaMA 3 8BにはGPUが必要で、
---必要なVMサイズは、AzureでNC4as_T4_v3辺りで、
---コレは、0.5-1万/月、一か月上げっぱなすと10-20万
--小さなモデルをファインチューニングをする場合、
---必要なVMサイズは、GPUのVRAMが24GBほど必要で、
---AzureでStandard_NV36ads_A10_v5(Nvidia A10)位のスペッ...
---コレは、1.5万/月、一か月上げっぱなすと30-50万
--大規模言語モデル(LLaMA 3 70B)を稼働させる場合、
---AzureでND96asr_A100_v4(Nvidia A100)位のスペックが必...
---コレは、10万/月(無理(笑))、一か月上げっぱなすと300万
---あまりに高額なので、調べるとA100は1枚で$11,000(約163...
-付帯費用~
Azureバッション2万/月など
-実費総額
--コレはミニマム環境なので、予算としては、5万/月ほどある...
--リージョンを変えると価格が大きく変わるので、検証用途な...
***GPU付きVMを準備 [#we26e9ac]
-使用可能なVMサイズを表示
az vm list-sizes --location japaneast --output table --q...
--Standard_NのVM は NVIDIA GPU が搭載されている。
--Standard_NC8as_T4_v3 は時間1ドル程度らしい。
-[[以下の変数を変更>Ubuntu 24.04 on Azure via Bastion 202...
vmSize=Standard_NC8as_T4_v3
vmOS=Ubuntu2404
vmName=GPU-VM1
vmUser=XXXX
vmPassword=XXXX
-az vm create
--JumpBox~
https://github.com/OpenTouryoProject/DxCommon/tree/master...
--Sandbox~
https://github.com/OpenTouryoProject/DxCommon/tree/master...
***インストレーション [#p7fc71c4]
-最終的に、GPUはフレームワークから使用するので、フレーム...
(PyTorch安定版(2.7.0)には Python 3.9 以降、CUDA 12.8が...
-Linux 用 Azure N シリーズ GPU ドライバーのセットアップ -...
https://learn.microsoft.com/en-us/azure/virtual-machines/...
-手順の事前確認
--[[Ubuntuの基本的な構成>Ubuntu 24.04 on Azure via Bastio...
--NVIDIAドライバ・インストール時にハングるので、セキュア ...
https://learn.microsoft.com/ja-jp/azure/virtual-machines/...
以下のコマンドでも行けるっぽい(VMを停止してから実行)。
az vm update \
--resource-group <RG名> \
--name <VM名> \
--set securityProfile.uefiSettings.secureBootEnabled=f...
securityProfile.uefiSettings.vTpmEnabled=false
--GPU 割り当て確認
---PCIバス接続デバイス情報を表示
lspci | grep -i nvidia
0001:00:00.0 3D controller: NVIDIA Corporation TU104GL [...
---NVIDIA製GPUドライバ情報を表示~
ココで認識できていれば、NVIDIAドライバのインストールは不...
nvidia-smi
Command 'nvidia-smi' not found, but can be installed with:
sudo apt install nvidia-utils-...
--既存ドライバがある場合、削除(再構成時はこの手順が必要
sudo apt --purge remove -y nvidia-*
sudo apt --purge remove -y cuda-*
sudo apt --purge remove -y libcudnn*
sudo apt --purge remove -y cudnn-*
sudo apt autoremove -y
sudo reboot
-NVIDIAドライバのインストール~
--ubuntu-drivers ユーティリティをインストール
sudo apt update && sudo apt install -y ubuntu-drivers-co...
--最新版をインストール(Azureの手順はコッチ)
sudo ubuntu-drivers install
--recommendedを確認してインストール
ubuntu-drivers devices
...
driver : nvidia-driver-575-open - third-party non-free...
...
---recommendedをインストール~
・自動
sudo ubuntu-drivers autoinstall
・手動
sudo apt install -y nvidia-driver-535(例)
--Your system has UEFI Secure Boot enabled. UEFI Secure B...
というエラーが出たら「セキュア ブート」「vTPM」無効化の手...
--再起動
sudo reboot
--NVIDIAドライバの確認
---NVIDIAドライバロードの確認
sudo dmesg | grep -i nvidia
---NVIDIA製GPUドライバ情報を表示
nvidia-smi
Wed May 14 09:29:03 2025
+-------------------------------------------------------...
| NVIDIA-SMI 535.230.02 Driver Version: 535....
|-----------------------------------------+-------------...
| GPU Name Persistence-M | Bus-Id ...
| Fan Temp Perf Pwr:Usage/Cap | Memo...
| | ...
|=========================================+=============...
| 0 Tesla T4 Off | 00000001:00:...
| N/A 32C P8 11W / 70W | 84MiB / ...
| | ...
+-----------------------------------------+-------------...
...
+-------------------------------------------------------...
| Processes: ...
| GPU GI CI PID Type Process name ...
| ID ID ...
|=======================================================...
| 0 N/A N/A 1129 G /usr/lib/xorg/Xorg ...
+-------------------------------------------------------...
※ 表示されているCUDAバージョンは、当該NVIDIAドライバが対...
-CUDA Toolkitのインストール~
「CUDA Version: 12.2」なので12.2以下のインストールが望ま...
(実行バイナリを作成する際に --gpu-architecture=compute_7...
--Azure
wget https://developer.download.nvidia.com/compute/cuda/...
sudo apt install -y ./cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt -y install cuda-toolkit-12-5
--各バージョン
---CUDA Toolkit Archiveにアクセス~
https://developer.nvidia.com/cuda-toolkit-archive
---当該バージョンのインストレーションを実行(※ deb_networ...
https://developer.nvidia.com/cuda-12-8-0-download-archive...
wget https://developer.download.nvidia.com/compute/cuda/...
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8
--再起動
sudo reboot
--CUDAバージョン情報の確認~
CUDA ToolKitとともにインストールされる CUDA C++ のコンパ...
nvcc の -V オプションで(≒ CUDA ToolKit ≒ CUDAの)バージ...
---nvccを実行するには、環境変数 PATH に CUDA の bin ディ...
export PATH=/usr/local/cuda/bin:$PATH
---nvcc の -V オプションを実行すると、以下のように表示さ...
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0
-cuDNNnのインストールはパス。
--推奨とされていたが、現在のPyTorchにcuDNNは不要らしい。~
CUDA 12.8 に対応する cuDNN のバージョンは、cuDNN 8.9.7。
--cuDNNのサイトのチェック~
https://developer.nvidia.com/
--ver9未満のインストレーションのナビゲーションがよろしく...
https://developer.nvidia.com/cudnn-archive
-展開後のドライバ定期更新
sudo apt update
sudo apt full-upgrade
***Python 環境で確認 [#kbea4331]
-pythonのバージョンを確認
python3 -V
Python 3.12.3
-pythonのパッケージマネージャーpipをインストール
sudo apt install python3-pip
-[[コチラ>WSL2 Ubuntu 24.04 LTS 2025/1/21#m8a520c5]]の手...
--venvをインストールする。
sudo apt install python3-venv
--仮想環境作成
python3 -m venv .python3_venv
--アクティブ化(環境外から実行)
source .python3_venv/bin/activate
--非アクティブ化(環境内から実行)
deactivate
-フレームワークをインストール~
仮想環境の「外」でやるか「中」でやるかは要検討だが、「外...
--ERROR: Could not install packages due to an OSError: [E...
---pipキャッシュをクリア
pip cache purge
---FS内のFSの量を表示
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 29G 23G 5.2G 82% /
tmpfs 28G 0 28G 0% /dev/shm
tmpfs 11G 1.3M 11G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
efivarfs 128K 35K 89K 28% /sys/firmware/efi/...
/dev/sda16 881M 60M 760M 8% /boot
/dev/sda15 105M 6.2M 99M 6% /boot/efi
/dev/sdb1 346G 32K 328G 1% /mnt
tmpfs 5.5G 108K 5.5G 1% /run/user/112
tmpfs 5.5G 112K 5.5G 1% /run/user/1000
---/mntが大きそうなのでココにワーク領域を作成
sudo mkdir -p /mnt/tmp
sudo chmod 1777 /mnt/tmp
--ワーク領域を指定してGPU対応版をインストール
---「TMPDIR=/mnt/tmp pip」として、unpackingフォルダを指定
---index-urlでCUDA対応版を明示してGPU対応版をインストール
TMPDIR=/mnt/tmp pip install torch torchvision torchaudio...
---CUDAが古い場合、torch系のバージョン番号を指定。https:/...
TMPDIR=/mnt/tmp pip install torch==2.6.0 torchvision==0....
--バージョン確認
---torch 2.7.0+cu...を想定
$ pip list
Package Version
------------------------- --------------
...
torch 2.7.0+cu128
torchaudio 2.7.0+cu128
torchvision 0.22.0+cu128
...
---torch 2.7.0+cu...を想定
$ pip list
Package Version
------------------------- --------------
...
torch 2.6.0+cu124
torchaudio 2.6.0+cu124
torchvision 0.21.0+cu124
...
--実行確認(インタラクティブ実行で)
python3
>>> import torch
>>> print(torch.cuda.is_available()) # TrueならOK
True
>>> print(torch.cuda.get_device_name(0)) # GPU名表示
Tesla T4
-CUDA環境の動作確認
--PyCUDA、PyTorch、TensorFlowなど、なにを使用して確認する...
--https://github.com/OpenTouryoProject/DxCommon/blob/mast...
***[[ディスク追加>Ubuntu 24.04 on Azure via Bastion 2025/...
***Dockerを使用 [#u030f074]
以下のような
-VMがドライバ
-DockerがCUDA
-venvがpip
役割分担で保守性向上
*参考 [#v87b06bf]
-深層学習についてのレポート(LLM編)~
https://www.osscons.jp/joho108j0-537/#_537
**環境準備 [#s2034df1]
***VM費用見積もり [#y54fc6ec]
-料金計算ツール | Microsoft Azure~
https://azure.microsoft.com/ja-jp/pricing/calculator/
--料金 - Linux Virtual Machines | Microsoft Azure~
https://azure.microsoft.com/ja-jp/pricing/details/virtual...
-AzureのGPU搭載VMを安い順に並べる(2023年9月版)|saip(さ...
https://note.com/sa1p/n/n0485cd0d8a04
-Azureの仮想マシンでNVIDIA A100 GPUを使用する~
https://zenn.dev/headwaters/articles/4a714937c9d17c
-【UiPath】AWS/Azure仮想マシンでローカルLLM環境を構築する...
https://qiita.com/hidecha/items/dba9e863d3651989bfc3
-Llama-3をColabで記事執筆用にファインチューニングしてみた~
https://zenn.dev/carenet/articles/0d2e1100121b0e
-LLaMA 3を本番環境に導入するには?~
https://nlpcloud.com/ja/how-to-install-and-deploy-llama-3...
***GPUを認識させる [#e6edf116]
-Linux 用 Azure N シリーズ GPU ドライバーのセットアップ -...
https://learn.microsoft.com/en-us/azure/virtual-machines/...
-Qiita
--【Ubuntu 24.04 LTS】NVIDIAドライバおよびCUDAのインスト...
https://qiita.com/YaezakuraP/items/507a7a9713b4e6f63f4b
--ubuntuにCUDA、nvidiaドライバをインストールするメモ #Ubu...
https://qiita.com/porizou1/items/74d8264d6381ee2941bd
--【UiPath】AWS/Azure仮想マシンでローカルLLM環境を構築す...
https://qiita.com/hidecha/items/dba9e863d3651989bfc3
--Your system has UEFI Secure Boot enabled. UEFI Secure B...
https://qiita.com/Yorozuya59/items/499a632cce827a912918
--NVIDIAのドライバをUbuntuにインストールするときにハマっ...
https://qiita.com/abehiro/items/81af20369099a303b855
--PyTorchとGPU/CUDA周りの環境構築のバージョン解決 #Ubuntu~
https://qiita.com/ketaro-m/items/4de2bd3101bcb6a6b668
-その他
--OCI Ubuntu 24.04にNVIDIA GPU DriverとCUDAをインストール...
https://zenn.dev/shukawam/scraps/44f9cdf3df70ff
--GPUを使った機械学習の環境を作るためにすること/しないこ...
https://zenn.dev/yuyakato/articles/6915e735bc6aa5
**ツール類 [#m585a48a]
***[[Ollama]] [#q003a352]
***Notebook [#a5363075]
-DxCommon/Notebook/Jupyter/path at master · OpenTouryoPro...
https://github.com/OpenTouryoProject/DxCommon/tree/master...
--LLM_Ollama.ipynb
--LLM_Streamlit.py
--,etc.
-LLMの実行方法と周辺ツールまとめ #OpenAI~
https://qiita.com/simakihiro/items/7467b849212fb3863e3b
-LLM Tools - Ranking | OSS Insight~
https://ossinsight.io/collections/llm-tools/
ページ名: