Diffusion Model - ノイズを予測して引く処理を繰り返して絵を作る

拡散モデル(diffusion model)は、画像に少しずつノイズを足していく過程を、逆向きにたどるように学習したモデルです。生成の時は、ノイズだけの状態から少しずつノイズを取り除いて画像を作ります。DDPM の論文(Denoising Diffusion Probabilistic Models、2020 年)がこの方法で高い品質の画像を示し、SDXL(Stable Diffusion XL)もこの仕組みで動いています。 ...

2026年11月11日 · 更新: 2026年11月11日 · 14 分 · nchika

LoRA - 重みの差分を細長い 2 つの行列で学習して配る

LoRA(Low-Rank Adaptation)は、学習済みモデルの重み行列 W を書き換えずに、W に足す差分だけを 2 つの細長い行列 B と A の積として学習する手法です。Hu 氏らの論文(2021 年)は大規模言語モデルの追加学習を対象にしていましたが、現在は画像生成モデルに画風やキャラクターを足すファイルの形式としても広く使われています。 ...

2026年11月10日 · 更新: 2026年11月10日 · 19 分 · nchika

Prompt Weighting - 語の重みと打ち消しが画像を崩す仕組み

masterpiece, best quality, no humans, still life, (blue ceramic teapot:1.4), lemons, glass bottle 上記は、画像生成のプロンプトの 1 行です。(blue ceramic teapot:1.4) の括弧と数字が、Prompt Weighting(プロンプトの重み付け)の書式で、括弧で囲んだ語の効き具合を 1.4 倍に強める、という意味で書きます。描きたくないものを並べる打ち消し(ネガティブプロンプト)にも、同じ書式で重みを付けられます。 ...

2026年11月10日 · 更新: 2026年11月10日 · 19 分 · nchika

img2img Denoise - 下絵をどこまで残して描き直すか

img2img(image-to-image)は、文字のプロンプトだけでなく、下絵の画像も入力にして絵を描かせる画像生成の使い方です。下絵にノイズを足してから取り除く仕組みは、SDEdit の論文が示した手法に基づいています。下絵をどれだけ描き直すかを 0〜1 の値で指定し、この値を denoise(ノイズ除去の強さ、Stable Diffusion web UI では denoising strength)と呼びます。0 に近いほど下絵のまま、1 に近いほど下絵から離れた絵になります。 ...

2026年11月10日 · 更新: 2026年11月11日 · 20 分 · nchika

Image Linting - 生成画像の検品を重ねると正しい絵も減る

生成した画像を自動で検品する時、検査の段を足すほど、人の所に届く絵の品質は上がると考えがちです。しかし、どの検査も一定の割合で正しい絵を誤って落とします。段を重ねると、この誤りは掛け算で積み上がります。以下は、正しい絵を 5% だけ誤って落とす検査を 5 段重ねた時に、正しい絵がどれだけ残るかを描いた図です。 ...

2026年11月10日 · 更新: 2026年11月10日 · 21 分 · nchika

Attribute Binding - 色などの属性が別の物に移る問題

black hair, aqua eyes と書けば、青緑(aqua)は目にだけ付くと思うかもしれません。英語の文法でも、aqua は隣の eyes に掛かります。しかし、手元の画像生成モデルで seed だけを 12 通りに変えて生成すると、12 枚全てで髪の光沢や毛先まで青緑になりました。 ...

2026年11月10日 · 更新: 2026年11月10日 · 14 分 · nchika

Tokenizer - LLM がテキストを数える単位

トークナイザー(tokenizer)は、テキストを LLM(Large Language Model、大規模言語モデル)が扱える断片の列に分けるプログラムです。この断片をトークン(token)と呼び、LLM はテキストを文字ではなくトークンの列として読み書きします。API の料金、一度に入力できる量、生成の速さも、文字数ではなくトークン数で計算されます。 ...

2026年11月10日 · 更新: 2026年11月10日 · 20 分 · nchika

KV Cache - 読んだトークンの計算結果を取っておく仕組みとコンテキスト長

KV キャッシュ(key-value cache)は、LLM(Large Language Model、大規模言語モデル)が文章を生成する時に、既に読んだトークンの計算結果(K と V と呼ばれるベクトル)をメモリに取っておく仕組みです。LLM は 1 トークンずつ文章を生成し、次のトークンを選ぶたびに、それまでの全てのトークンを参照します。KV キャッシュがあれば、過去のトークンを毎回計算し直さずに済みます。 ...

2026年11月10日 · 更新: 2026年11月10日 · 23 分 · nchika

Quantization - 重みを 8 bit・4 bit に詰めて小さく速くする

量子化(quantization)は、モデルの重みを FP16 などの浮動小数点数から、8 bit や 4 bit の小さな整数に丸めて保存する手法です。丸めた整数と、整数を元の大きさに戻すための係数(スケール)だけを持つので、ファイルもメモリも小さくなります。その代わり、元の値との間に丸めの誤差が入ります。 ...

2026年11月10日 · 更新: 2026年11月10日 · 27 分 · nchika

Sampling - temperature と top-p で次のトークンを選ぶ仕組み

サンプリング(sampling)は、LLM(Large Language Model、大規模言語モデル)が次のトークンの候補ごとに出した確率から、実際に出力するトークンを 1 つ選ぶ処理です。temperature と top-p は、その選び方を調整するパラメータです。 ...

2026年11月10日 · 更新: 2026年11月10日 · 7 分 · nchika

RAG - 質問に近い文書を検索して LLM に渡す

RAG(Retrieval-Augmented Generation、検索拡張生成)は、質問に答える前に手元の文書を検索し、見つけた文章を質問と一緒に LLM(Large Language Model、大規模言語モデル)に渡して答えさせる仕組みです。 ...

2026年11月10日 · 更新: 2026年11月10日 · 20 分 · nchika

Tool Calling - モデルが返す関数呼び出しの要求とエージェントのループ

ツール呼び出し(tool calling、function calling とも呼ぶ)は、LLM(Large Language Model、大規模言語モデル)に関数の名前・説明・引数の形を渡しておき、モデルに「この関数をこの引数で呼んでほしい」という要求を JSON で返させる仕組みです。 ...

2026年11月10日 · 更新: 2026年11月10日 · 28 分 · nchika

Structured Output - 文法で次のトークンを絞って JSON の形を守らせる

```json { "person": "松本彩", "date": "2024-03-19", "amount_yen": 120000 } ``` 上記は、文章から人物・日付・金額を取り出して「出力は JSON だけにしてください」と頼んだ時の、qwen3:1.7b の応答です。中身は正しいのですが、Markdown(見出しやコードを記号で書く文書の記法)のコードブロックの囲み(```)が付いているので、Python の json.loads() は 1 文字目で失敗します。手元の 40 件の入力では、25 件がこの形でした。 ...

2026年11月10日 · 更新: 2026年11月10日 · 27 分 · nchika