<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Tesla V100 on soijoy.dev</title>
		<link>https://soijoy.dev/tags/tesla-v100/</link>
		<description>Recent content in Tesla V100 on soijoy.dev</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Tue, 15 Sep 2026 12:06:18 +0000</lastBuildDate>
		
			<atom:link href="https://soijoy.dev/tags/tesla-v100/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>llama.cpp によるモデルの自作量子化（Quantization）</title>
				<link>https://soijoy.dev/notes/llama-cpp-quantization/</link>
				<pubDate>Tue, 15 Sep 2026 12:06:18 +0000</pubDate>
				<guid>https://soijoy.dev/notes/llama-cpp-quantization/</guid>
				<description>&lt;p&gt;Hugging Faceからオリジナル精度（FP16/BF16）の生の重み（Safetensors）を入手し、&lt;code&gt;llama.cpp&lt;/code&gt; の変換スクリプトで無圧縮のGGUF（FP16）を作成。そこからC++ネイティブの &lt;code&gt;llama-quantize&lt;/code&gt; で4bit（Q4_K_M）へ量子化し、自作した量子化モデルがV100で高速かつ論理破綻なく動くことを確認した記録。&lt;/p&gt;&#xA;&lt;h2 id=&#34;前提&#34;&gt;&#xA;  前提&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;#%e5%89%8d%e6%8f%90&#34; aria-label=&#34;Link to 前提&#34;&gt;&lt;span aria-hidden=&#34;true&#34;&gt;#&lt;/span&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;作業ディレクトリ: &lt;code&gt;~/llama.cpp&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;対象モデル: Qwen2.5-7B-Instruct&lt;/li&gt;&#xA;&lt;li&gt;変換の流れ: Safetensors（生データ）→ FP16 GGUF（無圧縮）→ Q4_K_M（4bit量子化）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-生の重みデータsafetensorsを入手&#34;&gt;&#xA;  1. 生の重みデータ（Safetensors）を入手&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;#1-%e7%94%9f%e3%81%ae%e9%87%8d%e3%81%bf%e3%83%87%e3%83%bc%e3%82%bfsafetensors%e3%82%92%e5%85%a5%e6%89%8b&#34; aria-label=&#34;Link to 1. 生の重みデータ（Safetensors）を入手&#34;&gt;&lt;span aria-hidden=&#34;true&#34;&gt;#&lt;/span&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;誰かが量子化済みのファイルではなく、公式配布のオリジナル精度の重みを取得する（約15GB）。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma retro-code&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/llama.cpp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hf download Qwen/Qwen2.5-7B-Instruct --local-dir models/Qwen2.5-7B-Instruct-Raw&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;2-変換用のpython仮想環境venv&#34;&gt;&#xA;  2. 変換用のPython仮想環境（venv）&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;#2-%e5%a4%89%e6%8f%9b%e7%94%a8%e3%81%aepython%e4%bb%ae%e6%83%b3%e7%92%b0%e5%a2%83venv&#34; aria-label=&#34;Link to 2. 変換用のPython仮想環境（venv）&#34;&gt;&lt;span aria-hidden=&#34;true&#34;&gt;#&lt;/span&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;現代のLinux（PEP 668）ではシステムのpipへ直接入れられないため、venvで隔離する。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma retro-code&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install python3-venv -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 -m venv llama-env&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; llama-env/bin/activate&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;依存ライブラリは &lt;code&gt;requirements.txt&lt;/code&gt; でコケることがある。その場合はコアだけ直接入れる。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma retro-code&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install torch transformers gguf sentencepiece protobuf numpy&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;3-無圧縮gguffp16へ変換&#34;&gt;&#xA;  3. 無圧縮GGUF（FP16）へ変換&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;#3-%e7%84%a1%e5%9c%a7%e7%b8%aegguffp16%e3%81%b8%e5%a4%89%e6%8f%9b&#34; aria-label=&#34;Link to 3. 無圧縮GGUF（FP16）へ変換&#34;&gt;&lt;span aria-hidden=&#34;true&#34;&gt;#&lt;/span&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;複数の &lt;code&gt;.safetensors&lt;/code&gt; を、&lt;code&gt;llama.cpp&lt;/code&gt; が扱える1つのGGUF（FP16, 無劣化）に結合する。&lt;/p&gt;</description>
			</item>
			<item>
				<title>llama.cpp ネイティブ環境構築とTesla V100フル稼働の記録</title>
				<link>https://soijoy.dev/notes/llama-cpp-native-v100/</link>
				<pubDate>Tue, 15 Sep 2026 16:00:00 +0900</pubDate>
				<guid>https://soijoy.dev/notes/llama-cpp-native-v100/</guid>
				<description>&lt;p&gt;Ollamaのようなラッパー（ブラックボックス）を排除し、C/C++ネイティブの &lt;code&gt;llama.cpp&lt;/code&gt; をソースからビルドして、Tesla V100（32GB）の性能を限界まで引き出す。エッジAI・組み込みAIの基礎になる「量子化」や「ローレベルな推論制御」を自分の手で握るためのベース環境を作った記録。&lt;/p&gt;&#xA;&lt;h2 id=&#34;前提環境&#34;&gt;&#xA;  前提環境&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;#%e5%89%8d%e6%8f%90%e7%92%b0%e5%a2%83&#34; aria-label=&#34;Link to 前提環境&#34;&gt;&lt;span aria-hidden=&#34;true&#34;&gt;#&lt;/span&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;OS: Ubuntu Server（Proxmox VM101）&lt;/li&gt;&#xA;&lt;li&gt;GPU: NVIDIA Tesla V100（VRAM 32GB）&lt;/li&gt;&#xA;&lt;li&gt;目的: AIのアーキテクチャ階層を直接操作し、フィジカルAI・エージェントAIの基盤技術（量子化・推論制御）を検証する&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-依存関係とcuda-toolkitの導入&#34;&gt;&#xA;  1. 依存関係とCUDA Toolkitの導入&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;#1-%e4%be%9d%e5%ad%98%e9%96%a2%e4%bf%82%e3%81%a8cuda-toolkit%e3%81%ae%e5%b0%8e%e5%85%a5&#34; aria-label=&#34;Link to 1. 依存関係とCUDA Toolkitの導入&#34;&gt;&lt;span aria-hidden=&#34;true&#34;&gt;#&lt;/span&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;C++ソースからGPU用プログラムをコンパイルするため、ビルドツールとCUDA Toolkit（nvcc等）を導入する。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma retro-code&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ビルドツールと依存ライブラリ&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install build-essential cmake git -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# CUDA Toolkit（nvccコンパイラ等）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install nvidia-cuda-toolkit -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 確認（バージョンが出ればOK）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvcc --version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;2-llamacpp-のクローンとビルド&#34;&gt;&#xA;  2. llama.cpp のクローンとビルド&#xA;  &lt;a class=&#34;heading-anchor&#34; href=&#34;#2-llamacpp-%e3%81%ae%e3%82%af%e3%83%ad%e3%83%bc%e3%83%b3%e3%81%a8%e3%83%93%e3%83%ab%e3%83%89&#34; aria-label=&#34;Link to 2. llama.cpp のクローンとビルド&#34;&gt;&lt;span aria-hidden=&#34;true&#34;&gt;#&lt;/span&gt;&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;公式リポジトリを取得し、CUDA（GPU高速化）を有効化してネイティブバイナリをコンパイルする。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
