Wizの「シークレット検出」モデルを再現し、その後上回るまでの過程(そして道中の課題)を、完全にローカルで技術的にまとめた書き起こし(さらに、ローカルAIでデータセット全体にラベリングする)

Reddit r/LocalLLaMA / 2026/4/6

💬 オピニオンIdeas & Deep AnalysisTools & Practical UsageModels & Research

要点

  • 著者は、Wizが報告したLlama 3.2-1Bの「シークレット検出」ファインチューニング結果を、完全にローカル環境で再現し、さらに上回る試みを説明している。数週間末(週末)にわたる実験の末、精度88%・再現率84.4%まで改善した。
  • Qwen 3.5 2Bや4Bを含む代替の小型言語モデルをベンチマークし、より高い性能を持つモデルほどより多くのVRAMを必要とし、推論時間も長くなることを指摘している。
  • 公開データソースを手続き的生成(プロシージャル生成)で補完し、データセットはQwen3-Coder-Nextを使ってローカルでラベリングした。また、モデルに対して構造化JSONを出力するよう学習することもプロジェクトの一部だった。
  • まずはスキーマ/JSON準拠がベースラインのSLMではほぼゼロだったが、学習によって98〜100%の準拠率まで改善し、信頼できる構造化予測が可能になった。
  • この取り組みを通じて、データ品質に関する落とし穴(例:「恥ずかしい」ほど高エントロピーなクラス、実世界のパスワードを含んでしまっていた誤分類されたネガティブなど)を発見し、これらの問題を修正することでパスワードの再現率が向上した。
WizのSecret Detectionモデルを私がどのように複製し、そしてそれを上回ったか(途中の課題も含む)についての、技術的で100%ローカルな書き起こし - ローカルAIでデータセット全体にラベル付けすることも含めて

みなさんこんにちは。私は、小さくて特化したモデルに仕事をオフロードし、それを並列化できることに強い関心があります。そうすることで作業を大幅にスケールできます(さらに、独自のAPIにあまり依存しなくて済みます)。

少し前に、Wizがコード中の秘密(secrets)検出のためにLlama 3.2-1Bを微調整(fine-tuning)したというブログ記事を見ました。彼らはPrecision 86%・Recall 82%を達成していました。そこで、純粋にローカルのAIだけでそれらの数値を再現(または上回る)ことができ、ローカル専用のモデルを作れるのかを確かめたくなりました。

何回かの週末に試行錯誤した結果、Llama 3.2-1Bで、Precision 88%・Recall 84.4%を同時に達成することができました!

またQwen 3.5-2Bと4Bもベンチマークしました。予想どおり、Llama 1Bよりも上回った一方で、より多くのVRAMと推論時間が必要でした。

トレーニングの統計、例、そしてこの指標を達成するまでに私がやったことを段階的に分解した、完全な書き起こしを用意しました。警告:技術的でかなり長いです。でも正直、読むのは楽しいと思います。

主なポイント:

  • 私は公開されているデータのみを入手しました。これだけでは足りなかったので、手続き型生成(procedural generation)を使ってデータセットを拡張・改善しました。ラベル付けはローカルでQwen3-Coder-Nextを使って行いました(ごめんなさいClaude、この回はお休みです)。
  • 単にsecretsを見つけるのではなく、モデルに構造化されたJSONを出力させるように学習しました。最初は、私が試した素のSLM(Llama & Qwen)ではスキーマ準拠(schema compliance)が0%でしたが、学習後には98〜100%にできました。
  • 学習に悪影響を与える、高エントロピーのクラスを混ぜてしまうという、やや恥ずかしいミスを犯しましたが、見つけて最終的に取り除きました。
  • 私の「ネガティブ」サンプルのうち4,500件は、実際のパスワードを含んでいたことを発見しました(実世界のものですが、そう見えないように思えるとしても!)。モデルは文字通りsecretsを無視するように学習されていたのです。この時点ですでにWizが設定したメトリクスはクリアしていましたが、ここを修正したことでパスワードのRecallが改善しました。

他にも、特化したタスクに対して効率的な1B/3Bの微調整(finetune)を進めている人がいたら、ぜひスタックについても聞かせてください。

AI免責事項:私はすべて自分で書いています—この投稿も、完全な書き起こしも。タイプミスなどがあれば指摘してください!

submitted by /u/Oatilis
[link] [comments]