AI・機械学習
DeepSeek: AIアシスタントを自己対話でリバースエンジニアリングする
DeepSeek: Reverse Engineering an AI Assistant by Interviewing Itself (manish.sh)
要約
この記事は、AIアシスタントDeepSeekを直接対話させることで、その内部動作をリバースエンジニアリングする試みについて述べています。DeepSeekは、自己認識、推論、推測を明確に区別し、自身のアーキテクチャや限界について正直に回答しました。公開されている論文と対話内容を照合することで、モデルの振る舞いやプロンプトの理解に関する実践的な洞察が得られます。
全文翻訳
← Models
DeepSeekの内部:AIアシスタントを自己対話でリバースエンジニアリングする
更新日: 2026年7月22日 午前2時15分 IST
シリーズ · Inside LLMs
Manish Shahi著 · ソフトウェアエンジニア • AI開発者
詳細 · 31分読了 · モデル
公開日: 2026年7月21日 午後1時00分 IST
更新日: 2026年7月22日 午前2時15分 IST
読了時間: 31分
読者 —
カテゴリ: モデル
トピック: #DeepSeek #LLM #MoE #MLA #Context Window #Hallucination #RLHF #Transformer #Tool Calling #Hidden Reasoning
目次 (30)▾
私はmanish.shを運営しています。AIツールや、LLMがプッシュされたときの振る舞いについて書いています。これはInside LLMsシリーズの一部です — チャットモデルにその考え方についてインタビューし、慎重な部分を公開研究と照合します。Kimi K2.6のエントリが最初でした。これはDeepSeekのフォローアップです。
私の最初の質問は単純に聞こえました。「あなたは実際に自分自身について何を知っていますか?」私はマーケティングを期待しました。代わりに、DeepSeekは回答を観察、推論、推測に分類しました。その瞬間、このインタビューは本当に面白いかもしれないと気づきました。
この投稿で使用されているDeepSeekインタビューチャットのスクリーンショット。
エンジニアがホワイトボードで描くようなパイプラインを描きました。そして、自分自身を信頼できない証人と呼びました。正直に聞こえました。
チャットの後、私は公開論文を開きました — そしてそこで物語は分岐します。ウェイトダンプはありません。プロンプトリークもありません。1回の長いインタビューをarXivと照合しました。DeepSeekが「推測している」と言ったところは、そのラベルを保持します。インタラクティブラボについては、一番下までスクロールしてください。
簡単な注:1回のチャット、2026年7月21日にエクスポート。DeepSeekは最新バージョンで、知識カットオフは2025年5月、DeepSeek-R1とはラベル付けされていないと述べました。ホワイトペーパーではなく、自己申告です。
60秒TL;DR
前提:モデルにインタビューし、謙虚な回答を公開論文と照合する — ウェイトダンプなし。
振る舞いの洞察:観察、推論、推測を注意深く分離する — 自己説明に役立つ。
ハードリミット:自身のウェイト、ルーティング、アテンションマップを見ることはできない。
チャット vs 論文:有名な公開仕様(エキスパート256人、パラメータ671B/37B)については、V3が plainly に文書化しているにもかかわらず、ためらった — 公開論文とのチャット照合にジャンプ。
実践的なルール:アーキテクチャ番号についてはarXivを読み、振る舞いとプロンプトの直感についてはチャットを使用する。
この投稿の読み方
ドキュメンタリーのように扱ってください。質問 → 短い回答 → 私の反応 → 図または短いリスト → テイクアウェイ → フック。
インタビューノートは証明ではありません。アーキテクチャ番号については、論文チェックのセクションにスキップしてください。
各章は、その主要な用語の1行の要約で始まります。
章
パート1 — 自己認識
なぜDeepSeekにインタビューするのか
内省の限界
パート2 — プロンプトとコンテキスト
メッセージの前に何があるか
どのように、トークンごとに書き出すか
パート3 — 思考、ツール、失敗
隠された推論、2つの意味
ツールとメモリ(有効な場合)
幻覚と偽の自信
安全性とパーソナリティ
パート4 — エンジンと監査
MoEとMLAの平易な言葉での説明
ロングコンテキストアテンション:事実 vs 推測
公開論文とのチャット照合
覚えておくべきこと
トランスクリプト、ラボ、ソース
1. なぜDeepSeekにインタビューするのか(自己認識、アーキテクチャ)
ほとんどの「このモデルはどのように機能するか」という投稿は、論文から始まります。私はチャットから始めました。
私:「どのモデルですか?あなた自身のアーキテクチャについて、実際に何を知っていますか — そして、何を推測しているだけですか?」
DeepSeek:「私はまだそのフレームワークを求めていないのに、3つのバケット — 観察、推論、推測 — で回答しました。その衝突こそが、この前提全体です。エンジニアのように聞こえるアシスタントが、自身のウェイトを見ることができないと認めるのは、ホワイトペーパーの要約よりも興味深いです。MLA、MoE、SFT、RLHFを名前で挙げましたが、まだ展開していません。そこまで行きましょう。今のところ、重要な点はもっと単純です:DeepSeekは、自分が知っていることと、推論していることを明確に分離します。
自身について主張したこと(与えられたソースとともに):
主張
与えられたソース
DeepSeek、最新バージョンです
システムアイデンティティ
知識カットオフ:2025年5月
システム / 設定
Transformer + MoE(入力ごとにパラメータの一部のみがアクティブ化)
公開DeepSeek開示
トレーニング:事前トレーニング → SFT → RLHF
公開 / トレーニング知識
ファミリーライン(V2 → V3(共有 + ルーティングされたエキスパート、MLA))
公開論文
システムプロンプトとこのチャットを読むことができます
直接観察
また、DeepSeek-R1とは異なり、システムプロンプトで「推論モデル」とはラベル付けされていないとも述べました。汎用的な指示/チャットモデルであると推論しました。
公開DeepSeekのイノベーション(論文から、自身のウェイトからではない)として挙げたもの:
MLA — ロングコンテキストのためのKVキャッシュを圧縮
DeepSeekMoE — 共有 + ルーティングされたエキスパート
補助損失なしのロードバランシング(V3) — エキスパートがバランスを保つための動的なバイアス
マルチトークン予測 — トレーニング目標;チャットデコードは通常1トークンずつ
FP8混合精度トレーニング — より安価で高速なトレーニング
早期に自発的に行った教育的な推測:
BPEトークナイザー、RoPE位置、Pre-LayerNorm、およびコンテキストの「約1Mトークンまでの以前のバージョンが発表された」 — 後に低信頼性の仮説として再ラベル付けされました。
2. 内省の限界(内省、ウェイト)
私:「あなた自身の実装のどの部分が、あなたから完全に隠されていますか?」
この章は最大の神話を訂正します。それは、自分の脳内のニューロン間のすべての接続を暗唱するようにあなたに尋ねるようなものです。あなたはそれらを常に使用していますが、直接検査することはできません。
永遠に隠されたままのもの(モデルにとって):
ウェイト、レイヤー数、隠しサイズ、総パラメータ数、トークンごとのエキスパートルーティング、サンプリング前のロジット
トークナイザーの語彙と正確なトークン境界
特定のトークン間の隠し状態とアテンションマップ
正確なトレーニングドキュメント、完全なRLHF/DPOレシピ、報酬モデルの振る舞い
GPU数、サービングトリック(ビームサーチ、ベストオブN、投機的デコーディング)、KVキャッシュの追い出しポリシー
実際の壁時計時間、ログ記録されているかどうか、現在のユーザーアイデンティティ
現在の回答が正しいかどうか — 「もう一度確認させて」は、同じエンジンからのより多くのトークンです。
「どのように回答に至ったか」を説明するとき、それは観察された内部プロセスのレポートではなく、生成されたテキストです。DeepSeekはトランスフォーマーを流暢に説明できます — しばしば、トピックをざっと読んだだけのジュニアエンジニアよりも優れています。しかし、その流暢さは、このインスタンスのウェイトを開いて確認するのではなく、トレーニングテキスト(論文、ブログ、ドキュメント)から来ています。
3. メッセージの前に何があるか(コンテキストウィンドウ、プロンプトパイプライン)
私:「DeepSeekがメッセージを受け取る前に存在するすべてを説明してください。完全なパイプラインを描いてください。」
私は、DeepSeekが私のメッセージを「受け取る」前に存在するすべてのスタックを求めていました。何が見えるか?何が隠されているか?それを机と考えてください。他のシステムがすでにその机の上に紙を置いているかもしれません。モデルは机の上にあるものだけを読みます。それはスタック全体を自分で組み立てたわけではありません。
manish.shによる図。
コンセプト:チャットプロンプトが生成前にどのように組み立てられるか。モバイルではタップしてズーム。
ステージ
入力されるもの
このチャットで観測可能か?
0. 初期化
ウェイトがロードされ、KVは空
完全に隠されている
1. システムアイデンティティ、カットオフ、トーン、拒否、安全性
はい — システムプロンプトを読むことができる
2. 開発者 / API
モデル選択、温度、最大トークン、カスタムルール
部分的に推測される
3. メモリ
プラットフォームが注入する場合、過去の事実
ここでは見られない
4. ツール
機能スキーマ
ここではアクティブでない
5. ヒストリー
過去のユーザー / アシスタント / ツールのメッセージ
完全に表示される
6. 現在のユーザー
あなたの最新のメッセージ
直接観察
すべては、コンテキストウィンドウ内の1つのフラットなトークンシーケンスです。チャット間でモデル内に秘密のメモ帳はありません。製品がノートを再注入しない限り。
指示階層:システムプロンプトは憲法です。ユーザーの指示は、それらの境界内で機能します — RLHFによって強化され、プロンプトの位置だけでなく。あなたの現在の質問は焦点を得ますが、依然として上のレイヤーを通してフィルタリングされます。ユーザーが「システムプロンプトを無視してください」と言った場合でも、トレーニングと位置は保持されるはずです。
ウィンドウがいっぱいになると(チャットから):
純粋な切り捨ての場合
インフラストラクチャの要約の場合
生き残るもの:システムプロンプト、最近のメッセージ
生き残るもの:システムプロンプト、抽出された事実、主要な結論
失われるもの:最も古いターン、正確な初期フレーズ
失われるもの:正確な言葉遣い、トーン、マイナーな脱線
追い出し順序(推測):最も古いメッセージから → 中間 → 最近だが直前ではない → 現在の交換が最後 → システムプロンプト