こんにちは、パレイド技術部です。
本サイトの編集には、長らく Macbook Air の M2搭載機を利用してきました。不満は特にありませんでしたが、16GB Unified Memory では、ローカルでのLLM利用は小型のモデルに限られるのがネック。本格的なAI利用は据え置きのWindows機に譲る、というのが実情でした。
今回、Macbook Air M5の導入を機に、出先で実行したかったAI編集者のコアの自動化に挑みます。
M5 への乗り換えと 32GB メモリの意味
これまで、作業に最も使いたかったOpenAIの gpt-oss:20b は、主にRTX4070(VRAM 12GB)を搭載した別のWindows環境を利用していました。日本語能力に優れた魅力的なモデルですが、サイズが大きくメモリが16GBのMacbook Air M2での利用は不可能でした。
今回、このモデルが快適に動作することを念頭に、Apple 50周年で発表されたモデルを吟味し、MacBook Air M5を購入。オプションで10コアGPU+32GBを選択しています。Macbook Proと悩みましたが、サーマルスロットリングへの懸念や64GBというメモリ容量の制限から割り切りました。近い将来のMac MiniまたはStudioにAI環境の方の本命を期待しつつ、メインは軽くてファンレス・静音の作業環境を優先しました。
こだわったのは、従来のM5環境からメモリ容量を 16GB から 32GB へと倍増させた点です。ローカル LLM の世界では、メモリ容量が即座に「扱えるモデルの大きさ」と「コンテキストの長さ」に直結します。従来の高性能モデルはサイズが大きく、一般的なノート PC では十分なコンテキスト長を確保するのが難しい。でもMacの場合、推論の速度にこだわらなければ、Unified Memoryが32GB あれば一般的なPC向けのモデルはほぼ動きます。gpt-oss:20bはもちろん、最近発表され評価の高いの最新モデルの qwen3.5 も、27bというパラメータまで視野に入ります。
ローカルLLMのみでの記事自動生成パイプラインの構築
さて、M5 の新ハードウェアを手に入れた今こそ、作業効率を劇的に変える「自動化」の輪郭を明確にしておきたいところ。これまでChatGPT等のツールに、記事のドラフトやテンプレートのプロンプトをコピペして文章の推敲を行っていますが、「自動化」には程遠い状態と言わざるを得ません。
そこで今回は、Claude Code + VS Codeによる開発で、記事作成のパイプラインを可能な限り自動化するPython スクリプトにチャレンジします。これは単なるコマンド実行のラッパーではなく、API で Ollama を呼び出し、プロンプトを生成、そして出力されたテキストを整形してブログ記事のドラフトとして WordPress に保存するまでの、一連のワークフローを担う司令塔のような存在です。
これまでローカルLLMの実行環境は Ollama を選んできました。面倒な設定が不要でコマンド一発で動作し、APIにも対応。コスト面やプライバシー面でアドバンテージがあるローカル環境を、快適に運用できます。gemma3:4bなどの小型モデルしか扱えませんでしたが、メモリという壁を越えたことで、いよいよ本格的な実験の幕が開けました。
自動化のポイント
従来の手作業では、モデルの切り替えやパラメータ調整、出力結果のコピー&ペーストを繰り返すだけで時間が溶けてしまいます。
自動化スクリプトを使うことで、単一の Python コマンドで「Ollama を起動→記事の素案と記事推敲のプロセスをパイプラインとして段階的に実行し、基準を満たすまでループ→Markdown 形式で保存し調整後にWordpressにアップロード」という一連の工程を完結させます。Macの前に張り付いていなくとも、並行で作業をしてもらうことが理想です。
また、Ollama の API 呼び出しを標準ライブラリだけで完結させ、複雑な依存関係を増やさず軽量に保つことでWindows環境でもシームレスに扱えることを狙っています。ただし、検証を進めると Ollama が制約となる局面がありました。
Ollama で検証:gpt-oss の推論モードと qwen3.5 のコンテキスト制約
M5 マシンで Ollama を起動し、「gpt-oss:20b」を導入するとあっけなく動きます。32GBメモリの威力に感じ入りつつ、他のモデルもいくつか導入し、比較してみました。
テストには開発中の処理は記事自動生成ツールを選びました。 LLMを繰り返す呼び出す重めの処理で、品質を確保し一定の文字数に集約させるプロンプトを与えます。
| モデル | Pass B時間 | Pass B tok/s | Pass C時間 | 合計 | 文字数 | 備考 |
|---|---|---|---|---|---|---|
| gemma3:12b | 406s | 8.6 | 452s | 860s | 6797字 | |
| gpt-oss:20b | 1661s | 16.3 | 217s | 1889s | 4036字 | thinking自動 |
| qwen3.5:9b | 370s | 7.9 | 357s | 732s | 6137字 | |
| qwen3.5:9b + think-c | 487s | 7.2 | 542s | 1032s | 5258字 | |
| qwen3.5:27b | 1099s | 2.9 | ❌ タイムアウト | — | — |
期待の gpt-oss:20b は、GUI からの利用では特に気になりませんが、APIで駆動すると thinking モードのオンオフ指定ができず、モデルが延々と思考を続け結果として生成速度が極端に低下しました。単に遅いというより、ループに陥って出力が止まります。プロンプトの渡し方かもしれませんが、終了時間が読めず扱いにくい一面がわかりました。
並行して、話題の qwen3.5 もパラメータが異なるモデルをいくつか試しました。
4b・9bまではM2 MacBook Airでも動作実績があります。M2 でもそうでしたが、4bの方が pareido.jp の利用方法においては精度が上がる印象がありました。ChatGPTによると、推論を多用するためではないかとのこと。硬い文章に口語が混じるなど、日本語にわずかな違和感はあるものの、推論の質は高く評判通りの動作です。
また、27bは途中の大きめの処理で900秒を超えてタイムアウトとなりました。後で調べて分かったのですが、qwen3.5ではコンテキスト長の設定に既知の問題があること、また Ollama では本来のパフォーマンスは出ないことが報告されています。
調べた範囲では、Macならメモリ 32GB あれば qwen3.5:27b は動作実績があるようです。 ただし、真のポテンシャルを引き出すためには、Ollama ではなく MLX の導入が必要。 MLX での試験は次の楽しみにとっておき、まずはM2環境との比較検証を行なってみます。
M5 vs M2 の性能比較:1.6〜3 倍の高速化
手元にある旧型の MacBook Air M2 環境で、同モデルを使った記事生成パイプラインを走らせて比較実験を行いました。対象は、M2でもギリギリ動いていた qwen3.5:9b と gemma3:12b です。OllamaをPythonからAPIで呼び出す形で実行しています。ただし、記事生成パイプラインはLLM以外の処理も含むため、純粋なLLMの比較ではありません。
| モデル | M5 合計 | M2 合計 | 倍率 | M5 文字数 | M2 文字数 |
|---|---|---|---|---|---|
| qwen3.5:9b | 732s | 1367s | 1.87x | 6137字 | 4341字 |
| qwen3.5:9b + thinkingあり | 1032s | 1657s | 1.61x | 5258字 | 4662字 |
| gemma3:12b | 860s | 2826s | 3.29x | 6797字 | 6664字 |
結果は。qwen3.5:9b の生成速度は、M2 環境と比較して約2倍、gemma3:12b では約3倍の速度向上を記録しました。M5 に搭載された Neural Accelerator の進化が、単なる数値の増加ではなく、体感速度として明確に現れます。特に qwen3.5 は、thinkingありの実用も視野に入ります。M2 環境はメモリ16GBですが、基本的にはCPU(GPU)の違いと見て良さそうです。
今回、メモリ32GBを搭載したため、gpt-oss:20bが実用可能となったことは期待通りです。が、gpt-oss:20bも登場から時間も経ち、qwen3.5など最新モデルのバリエーションで、もう少し欲を出しても良さそうです。
Ollama の壁を超えて:次回 MLX での再挑戦へ
これまで pareido.jp では、Mac/Windows環境を活かして多くのモデルを試すために、Ollama でのAPI利用をメインに据えてきました。今回、MacBook Airが32GBメモリとなったことで、動かせるモデルに結果的に大きな差が出ることになりました。
これを一つの転換点とし、M5 の新アーキテクチャの力を最大限に引き出すため、Macで主に利用する自動生成パイプラインはMLX フレームワークへの移行を試します。Ollama の手軽さは引き続き魅力で、小型モデルや環境非依存のAI利用に継続して使います。


