- GitHub - soukouki/loopguard: A llama-server proxy that detects loops during output and interrupts processing · GitHub
loopguardは、llama-swapとllama-serverの間に配置する軽量なストリーミングプロキシであり、LLMの出力ループ(同じ文字列の繰り返し)を検知して、ストリームを早期に打ち切るためのツールです。- モチベ
- Gemma 4 12BとかTernary Bonsai 27Bとか動かしてると、たまに推論がループして困っていた
- 手動での介入をしない場合、コンテキスト長のエラーが起きるまで待つしかなかった。
- llama-serverにはDRYなどのループを減らすオプションがあるが、使ったところでループの代わりに幾つかのトークンが不規則に出力されるという微妙な結果にしかならなかった。
- むしろn-gram投機的デコードの効果が失われて、コンテキスト長を埋めるまでの時間が伸びるだけ
- llama-swapとllama-serverの間に入ってAPIをプロキシして、推論がループしていたらそこで出力を打ち切ればよいのでは、と考えた。
- Gemma 4 12BとかTernary Bonsai 27Bとか動かしてると、たまに推論がループして困っていた
- 仕様書はClaude Sonnet 5くんが、実装はLaguna S 2.1くんがやってくれた
- Laguna S 2.1くん強くない?
- ローカルLLMでこのレベルの作業が出来る時代が来たんだ