カテゴリー: アプリケーション開発

ONNX Runtimeの「ORT_SEQUENTIAL」と「ORT_PARALLEL」の違いを解説

ONNX Runtime(ORT)を使っていると、ORT_SEQUENTIAL や ORT_PARALLEL という設定を見かけることがあります。 これらは Execution Mode(実行モード) を指定する重要な設定で、推論速度やCPU使用率に影響します。 この記事では、 ORT_SEQUENTIAL ORT_PARALLEL の違いを、PythonとC#のコード例付きでわかりやすく解説します。 ORT_SEQUENTIALとは

続きを読む

CUDA Version表示の正しい意味と、動作するGPU・安全なバージョン選び

はじめに nvidia-smi を実行すると、次のような表示を見ることがあります。 CUDA Version: 13.0 この表示を見て、 「CUDA 13が使える」 「どのNVIDIA GPUでも動く」 と思ってしまうケースが非常に多いですが、これは正確ではありません。 この記事では、 CUDAとは何か(簡単に) CUDA Version 表示の本当の意味 CUDAが動くGPUの条件 推論用途でCUDAを自分で入れる必要があるのか 失

続きを読む

VAEとは?Stable Diffusionでの役割とONNXへの変換方法(encoder / decoder分離)

VAE(Variational Autoencoder)とは VAE(Variational Autoencoder)は、画像を「圧縮」と「復元」するためのニューラルネットワークです。 Stable Diffusion では、画像生成の効率を高めるために重要な役割を担っています。 VAEは主に次の2つの構成要素から成り立っています: Encoder(エンコーダー) 画像(RGB)を潜在表現(latent)に圧縮する Decoder(デコ

続きを読む

Phi-3 Mini + OnnxRuntimeGenAI で作る C# 翻訳エージェント

1. Phi-3 Mini とは? — 小型SLMの実力 Phi-3 Mini は Microsoft が 2024 年に公開した Small Language Model (SLM) です。パラメータ数は 3.8 億(3.8B) と GPT-4 系の 1/100 以下でありながら、多くのベンチマークで同規模または大規模モデルに匹敵する精度を達成しています。 なぜ翻訳エージェントに向いているのか? 日英翻訳の精度が高い — 高品質な英語

続きを読む

PyInstallerでStable DiffusionやQwenなどAIアプリをスタンドアロン化する方法と注意

Python製のAIアプリ(Stable Diffusion、Qwen、Wanなど)を「Python未導入のPCでもそのまま動くスタンドアロン実行ファイル」にしたい場合、よく使われるのが PyInstaller です。 pip install pyinstaller pyinstaller –onefile main.py しかし、AI系ライブラリを含むアプリでは単純にビルドしただけでは失敗することが多く、以下のような追加オ

続きを読む

ONNX Runtimeの「ORT_SEQUENTIAL」と「ORT_PARALLEL」の違いを解説

ONNX Runtime(ORT)を使っていると、ORT_SEQUENTIAL や ORT_PARALLEL という設定を見かけることがあります。これらは Execution Mode(実行モード) に関する重要な設定です。 この記事では、それぞれの違いと使い分けについてわかりやすく解説します。 ORT_SEQUENTIALとは ORT_SEQUENTIAL は 逐次実行モード です。 特徴 モデル内の処理(ノード)を 順番に1つずつ実

続きを読む

GGUFファイルの「Q・K・V」って何?AttentionとQuantizationをわかりやすく解説

GGUFファイルのファイル名に付いている Q・K・V という文字、気になったことはありませんか?これはLLM(大規模言語モデル)の中核技術である Attention(注意機構) と 量子化(Quantization) に深く関係しています。この記事ではそれぞれをわかりやすく解説します。 Attention(注意機構)とは? 一言で言うと 「文章の中でどの単語がどの単語に関係しているか」を計算する仕組みです。 具体例 次の文を見てみましょ

続きを読む

Qwen Image Edit + LoRAで2回目から高速になる理由【キャッシュの仕組みを解説】

Qwen Image EditでLoRAを使っていると、初回は1時間かかるのに、2回目からは10分で終わるという現象に気づいた方も多いのではないでしょうか。しかも、プログラムを再起動しても2回目以降は速いまま。この記事では、その理由をキャッシュの仕組みから丁寧に解説します。 結論:2種類のキャッシュが組み合わさっている 速度差の正体は、主に以下の2つのキャッシュ機構です。 OSのページキャッシュ(RAMへのファイルキャッシュ) CUDA

続きを読む

Hugging Faceモデルの保存場所・容量・削除方法まとめ(QwenやStable Diffusionにも対応)

AIモデル(例:Qwen・Stable Diffusionなど)を使っていると、 「どこにダウンロードされてるの?」「気づいたら容量がヤバい…」と感じたことはありませんか? この記事では、Hugging Face系モデルの保存場所・容量の仕組み・削除方法・保存先変更まで、まとめて解説します。 ■ モデルはどこにダウンロードされるのか? from_pretrained() を使うと、モデルは自動的に Hugging Faceのキャッシュ領

続きを読む

safetensorsの「配線」はどこにある?Netronで線が見えない理由をわかりやすく解説

機械学習モデル(特にTransformer系)を触っていると、.safetensors ファイルをNetronで開いたときに、 「ノードが並んでいるだけで、配線(接続)が見えない」 という疑問にぶつかることがあります。 この記事ではこの現象の理由と、実際にブロックの接続(配線)がどこに記録されているのかを整理して解説します。 なぜNetronで配線が見えないのか? 結論から言うと: safetensorsには「配線情報」が入っていないた

続きを読む

Python(embed版)でCUDA対応PyTorchを使ったGPU推論環境の作り方

はじめに 最近のGPU環境では「CUDAは自動で入っているのか?」「PyTorchはどこまで自動でやってくれるのか?」といった疑問を持つ人が多いと思います。 この記事では、Pythonのembed版(ポータブル環境)でCUDA対応PyTorchを使ったGPU推論を行う方法を、最小構成でわかりやすく解説します。 結論(重要ポイントまとめ) RTX 20xx以降でも CUDAは自動では入らない ただし PyTorch(CUDA版)に必要なラ

続きを読む

【PyTorch】torch_has_triton()がFalseになる問題と解決方法【Windows】

WindowsでTritonをインストールしたにもかかわらず、torch_has_triton()がFalseを返してしまう問題に遭遇することがあります。この記事では、その原因と解決方法を解説します。 Tritonとは?  GPUカーネルをPythonで書けるようにするコンパイラ/言語です。 通常、GPUで高速な処理をするにはCUDA(C++)でカーネルを書く必要がありますが、TritonはそれをPythonに近い書き方で実現

続きを読む