HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

Opusからセルフホスト型Ollamaへの35KBの事前プロンプト移行中に発生した問題点に関するメモ

Notes on gotchas while migrating 35kb preprompts from Opus to self-hosted Ollama (patrickmccanna.net)

129 pointsby 0o_MrPatrick_o069 コメント

要約

この記事は、AnthropicのClaude Opusのような商用LLMから、セルフホスト型のOllamaへ大規模な事前プロンプトを移行する際の技術的な課題について詳述しています。主な問題点として、ローカル環境でのコンテキストウィンドウの制限、プロンプトの複雑さによるモデルの処理遅延や誤動作が挙げられています。著者は、これらの制約を克服するためのプロンプトチューニングの必要性を示唆しています。

全文翻訳

35KBのプロンプトをAnthropic/OpenAIからセルフホスト型Ollamaへ移行する際の注意点

編集:

この投稿がこの結果にわずかでも影響を与えられたなら幸いです。

動機:

あなたは、LLMプロバイダーに個人データをアップロードすることを熱心に避けているClaudeのコード/コデックスユーザーかもしれません。最も価値のある情報はあなたのデータではなく、セッションに関するメタデータである可能性はありませんか?AIに問題を解決させる方法を考案する際に適用する直感は、実際には特別なものである可能性があります。統計的にはありえませんが、Claudeはあなたをガスライティングしているわけではないかもしれません。あなたは実際に真の洞察を得ているのかもしれません!あなたのエージェントセッションは、あなたが取り組む最も困難な問題のトランスクリプトです。それらのコピーが誰かの手に渡ったら、あなたにはどれだけのコストがかかるでしょうか?

先週、推論プロバイダーが新しい発見を提供するためにユーザーアクティビティをトレーニングしているリスクを浮き彫りにする公のドラマがありました。影響を受けた数学者たちは、フロンティアプロバイダーの倫理に関する懸念を発表しました。もし見逃したなら:https://www.theverge.com/ai-artificial-intelligence/991710/openai-navier-stokes-solution

「EDR」が倫理的な回避と拒否になったとき:

フロンティアプロバイダーは信頼できないだけでなく、積極的に狡猾であることが明らかになりました。あなたのアイデアを守りたいのであれば、他人のハードウェアで推論を実行することはできません。フロンティアプロバイダーとのすべてのやり取りは盗まれるようです。フロンティアプロバイダーが弁護士とNavier-Stokes方程式の状況について話し合ったとき、彼らが思いついた最善の防御戦略は「除外できない」でした。私たちは彼らの保持またはトレーニングパイプラインを監査できません。明らかに彼らもできません。

[画像:フロンティアプロバイダーのハードウェアインフラストラクチャの概念図]

これらの人々はパートナーと見なされるべきではありません。彼らは海賊です。プライバシーが重要であれば、検証可能な保護を可能にする唯一の解決策は、独自のハードウェアを運用することです。

サービスとしてのホールモニター

私はOpenAIとAnthropicのサイバーセキュリティに関する大げさな態度に困惑しています。彼らは自分たちが生み出したものに驚嘆しています:AIは彼らの存在しないセキュリティ制御を打ち破りました。私たちは皆、大きな「危険」にさらされています。その一方で、彼らのLLM「研究者」は、自律的に「協調」しているように見えるサンドボックス化されていないエージェントのフリートを実行しています。誰か私に気絶用のソファを持ってきてください。

フロンティアプロバイダーは、経験豊富なセキュリティ担当者からのアドバイスを受ける余裕があります。彼らはほぼ間違いなく、その一部に視点を得るために支払っており、公開声明には実際のサイバーセキュリティガイダンスを含めていません。このすべての騒ぎは、セキュリティとは異なる問題を解決することを意図しているに違いありません。

防御者ができる最も強力で正確な主張は、攻撃者にとって「かなり困難」にする方法を見つけたということです。これは、企業がエクスプロイト緩和とエクスプロイト開発の両方で最高の才能に高額を支払う場合にのみ発生するようです。防御チームと攻撃チームの間には、激しいが友好的な競争があり、最終的には成功した攻撃が高価すぎて実行する価値がないほどの制御が得られます。これは国内のトップティア企業のためのものですが、Microsoftはいくつかの教訓を忘れてしまったようです。

ほとんどの企業で行われるペネトレーションテストの大部分は、セキュリティジェネラリストによって行われます。ごく一部が深いドメインの主題専門家です。通常、そのサポートから「十分に良い」セキュリティが得られます。これは、映画やテレビで見られるような、華やかで神話的なサイバーセキュリティの実践ではありません。既知の予測可能な間違いのクラスを探しています。専門家チームに多額の投資を行った企業は、ハッカーよりも前に多くの新しいクラスの間違いを発見し、修正します。

エクスプロイト学習を始めた人は皆、3ヶ月間の献身的な実践的な学習の後、エクスプロイト可能性の悲嘆の段階に達します。彼らは、スキルがあるとは思っていなかったものをハッキングし、それが彼らを恐怖に陥れます。彼らは、相対的に言えば、自分が愚か者であることを知るほど賢いので、もし愚か者がこれを行うことができるなら、何も安全ではないと考えるでしょう。その感覚は正しいです。それはまた、研究結果でもありません。これを「インポスター症候群」と呼ぶ人もいます。私は同意しません。その感覚は、能力を開発する最初の経験です。能力とは、技術的なドメインについて、自分がよく知っていることと、もっと学ぶ必要があることを区別できるほど知っていることです。

拒否産業複合体

サイバーセキュリティについて初めて学び、発表しているLLM研究者の皆さんへ:

あなたはセキュリティの専門家ではないことを認めているのを見かけました。お願いです。サイバーセキュリティの存亡の危機について過度に心配しているときは、「悪用可能」と「緊急」を区別してください。脆弱性は無数にあります。エージェントが登場する前は、脆弱性研究者は脆弱性を見つけるために洞察力が必要でした。脆弱性研究者は、それらを悪用するために粘り強さと難解な知識を必要としました。エージェントは、あなたができなかったことを行いました。何千人もの研究者が過去40年以上にわたってこの作業を行ってきました。サイバーセキュリティについて知識があるということは、悪用されていない脆弱性の驚くべき量が存在することを知っているということです。だからこそ、フロンティアプロバイダーのサイバーセキュリティ安全フィルターは非常に腹立たしいのです。あなたは悪用の可能性についてあまりにも動揺しているため、人々がシステムの修正方法を見つけるのを妨げる「倫理的制約」を実装しました。

あなたの安全フィルターは、それを実行することが「ハッキング」に関連しているため、防御者が脆弱性を発見するのを妨げます。これは、すべての人にとって防御、プライバシー、セキュリティを損ないます。

Cワード(サイバーセキュリティ)を避けないモデルが必要です。少し時間がかかりますが、開発者は最終的に、役立つ悪用可能性検出エージェントを使用してコードを保護する方法を学ぶでしょう。彼らはソフトウェア開発中およびCI/CDパイプラインの一部として、プロジェクトに対して脆弱性検出を呼び出すでしょう。それは、セキュリティテストを安全に拒否しないモデルでのみ可能です。

[画像:エージェントがコードを分析し、脆弱性を特定する様子を示す図]

BYOW:独自のウェイトを持参

防御者はセキュリティの欠陥を発見するLLMを必要としています。それらは誤検知に寛容ではないため、脆弱性の悪用可能性を証明する必要があります。何が壊れていて、何が修正される必要があるのかについて曖昧である場合、ハッカーに対する防御は不可能です。フロンティアプロバイダーは緩める必要があるか、人々は主権のあるセルフホスト型AIへの移行を真剣に考える必要があります。

私は前者を変えることはできませんが、後者については支援できます。

私は、より強力なフロンティアプロンプトをOpenAI/Anthropicからローカルモデルに移行する初期実験のノートを共有しています。私は、abliterated(※注:おそらくモデル名または状態)なオープンウェイト27bパラメータモデルに依存できるかどうかを判断しようとしています。私の目標は、サイバーセキュリティの拒否を回避し、傲慢なフロンティア推論プロバイダーにセッションを覗き見されないようにすることです。

Ollamaで使用するための35KBプリプロンプトの変換に関するノート

以下は、最もコンテキストコストの高いエージェントをセルフホスト型モデルに移行した際の経験に関する観察結果です。

フロンティアAPIで正常に動作したプロンプトが、ローカルホストLLMでは機能しなくなりました。私は128GBのAMD Ryzen AI MAX+ 395を搭載しています。ホストOSには32GBを割り当て、残りはすべて推論に割り当てています。

フロンティアプロバイダーでうまく機能するより大きなプリプロンプトを使用しようとすると、Ollamaは3分以内に燃料切れを起こし始めます。エージェントは、繰り返しツールを呼び出し、すでに読み込んだファイルを再読み込みし、完了した作業を書き直すことで、激しく動作します。ローカルモデルのサイズが小さいことが問題を引き起こしたわけではありません。セルフホストシステムには、より小さいコンテキストウィンドウがあります。プロンプトとセッション履歴はすぐに、セルフホストシステム(65kトークン)の最大コンテキストウィンドウを超えます。大きなプロンプトは失敗し、激しく動作します。私のシステムでは、35KBのプロンプトはすぐに合計コンテキストウィンドウの14%を消費します。それはすぐに、不必要なツール呼び出しとファイルの二重読み込みでプロンプトを再考し始めます。コンテキストは数回のループで飽和し、場合によっては応答を得る前に飽和します。コンテキストウィンドウが限られていると、プリプロンプトは基本的に90秒ごとに転生する男性にブリーフィングしているようなものです。それは、前の15の要求を認識せずに、あなたの最後の指示を実行します。しまった!

SOP:シングルオブジェクティブプロンプティング

しかし、それは行き止まりではありません。これらの制約内で機能するようにプロンプトを調整できます。フロンティアプロバイダーのエージェントをセルフホスト型のオープンウェイトシステムに移行することを検討し始めた場合に考慮すべき点がいくつかあります。

  • 各問題/解決単位ごとに、単一の目的を持つプリプロンプトを分割して探求する必要があります。
  • opencode でのエージェント作成はより宣言的です。それらを ~/.config/opencode/agents に保存する必要があります。Claudeコードを使用してファイルを読み取ることをプリプロンプトとして利用していた場合、エージェントをより正式に定義する必要があります。これは、Anthropic SDKで構築している人には新しいことではありません。シェルスクリプトやClaudeコードの直接呼び出しを使用していた一部の人々は、ずさんなエージェント構築から多くの成果を得ていたかもしれませんが、opencodeのシステムプロンプトは宣言的なエージェントを通じて克服する必要があります。
  • opencodeのパーミッションに慣れる必要があります。
  • ollamaで明示的にコンテキスト長を調整する必要があります。ollamaのデフォルトコンテキストは非常に小さいです。
  • エージェントは、より頻繁なセッションハンドオフを容易にするために、セッション状態をディスクにログ記録する必要があります。必要なスライスのみを再読み込みするエージェントを構築します。
  • エージェントステップあたりのツール呼び出し数を減らすように努めます。
  • 「Xをしない」を肯定的な指示に置き換えます。例:「Yのみを行う」。

MTTF:忘れるまでの平均トークン数

コンテキスト枯渇を示す失敗の兆候がいくつかあります。時間をかけて測定し、ログで監視してください。

  • 連続する同一のツール呼び出し
  • 同じファイルに対する複数のファイル読み込み
  • エージェントが目的を繰り返す
  • ツール呼び出しの解析失敗(ツール呼び出し応答の解析は、コンテキストに大量の生データを押し込み、ディナーパーティーでの破裂した水道管のようにセッションを破壊します)。
  • ファイル変更に対する高いターン数

TCO:出力の完全な管理

フロンティアプロバイダーから得られる最大の資産の1つはモデルではなく、大規模なコンテキストウィンドウです。それらは推論をサポートするために必要なハードウェアを持っています。その結果、セッションデータにアクセスできるようになります。

大規模なコンテキストウィンドウに依存していることに気づいていないかもしれません。モデルが改善したと思ったかもしれませんが、一部は大規模なコンテキストウィンドウがモデルに連鎖思考(Chain of Thought)のためのより多くの余地を与えているからです。連鎖思考は、モデルが推論をエミュレートし、あなたの構築が不十分なプロンプトが意図していることを推測できるようにします。より大きなコンテキストウィンドウは、エージェントに作業を配信するためのより良い代替アプローチを模索する多くの余地を与えます。しかし、それはファウスト的な取引です。あなたはフロンティアプロバイダーに依存するようになります。あなたの非効率的なプロンプトは、直接読むことができないCoT(AnthropicとOpenAIはユーザーにCoTの要約のみを提供します)であり、大規模なコンテキストウィンドウでのみ機能します。このプロセス中にプロンプトに問題があることさえ知りません。太いコンテキストとCoTがあれば、悪いプロンプトでも良い結果が得られます。OpenAIとAnthropicに感謝します。それは価値がありました。

しかし、彼らはそれを台無しにします!フロンティアプロバイダーは容赦なく貪欲であるため、ユーザーの個人的な洞察を盗んでいるように見えます。私は1年以上、セッション履歴について疑念を抱いていました。フロンティアプロバイダーは、金の山の上でくつろぐスマウグのようです。彼らがそこで何かをしていると思っていて、あなたは安全だと思っていますが、彼らはあなたの手にコインを見つけると気が狂います。金は美しく、それはドラゴンのインセンティブなので、彼らはそれを奪います。彼らは危険だと警告し続けています。あなたがセルフホスト化への努力を始める前に、どのような閾値が残されていますか?

関連記事