3 ポイント 投稿者 GN⁺ 2024-09-13 | 1件のコメント | WhatsAppで共有
  • 与えられた暗号解読の例は、oyfjdnisdr rtqwainr acxz mynzbhhx が「Think step by step」になる規則を見つけ、新しい文に 同じ推論手順 を適用する問題である
  • 核心となる手がかりは、暗号文の各単語が平文より 正確に2倍の長さ である点であり、暗号文を2文字ずつまとめて1文字に変換すればよい
  • 各文字ペアは a=1 から z=26 までの数字に変換したあと 平均値 を取ると、対応する平文の文字になる
  • たとえば oy(15+25)/2=20 なので T になり、同じ方法で fj, dn, is, drh, i, n, k に解読される
  • 目標の暗号文まで適用すると、最終的な文は「THERE ARE THREE RS IN STRAWBERRY」となり、規則の発見と検証の両方が必要になる

暗号文と平文の間の手がかり

  • 入力例は oyfjdnisdr rtqwainr acxz mynzbhhx -> Think step by step である
  • 目標は、この例をもとに oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxz を解読することである
  • まず文字数を比較すると、暗号文の単語が平文の単語より 常に2倍長い という関係が見える
    • oyfjdnisdr は10文字で、Think は5文字である
    • rtqwainr は8文字で、step は4文字である
    • acxz は4文字で、by は2文字である
    • mynzbhhx は8文字で、step は4文字である

2文字ペアを1文字に変える規則

  • 長さの関係から、暗号文を 2文字ずつ区切る方式 が自然な候補になる
  • 最初の単語 oyfjdnisdr は次のように分かれる
    • oy
    • fj
    • dn
    • is
    • dr
  • これらのペアは平文 Think の文字と順番に対応する
    • oy -> T
    • fj -> h
    • dn -> i
    • is -> n
    • dr -> k

平均値で検証される変換

  • 文字を a=1, b=2, ..., z=26 に変換したあと、各ペアの 平均値 を求めると平文の文字が得られる
  • 最初の単語の変換は規則と一致する
    • oy: o=15, y=25, 平均 20T
    • fj: f=6, j=10, 平均 8h
    • dn: d=4, n=14, 平均 9i
    • is: i=9, s=19, 平均 14n
    • dr: d=4, r=18, 平均 11k
  • 同じ方法で rtqwainr, acxz, mynzbhhx もそれぞれ step, by, step に解読される

目標の暗号文の解読

  • 目標の暗号文も単語ごとに分けたあと、各単語を2文字ペア単位で解読する
  • oyekaijzdf
    • oy, ek, ai, jz, df
    • 平均値変換の結果 THERE
  • aaptcg
    • aa, pt, cg
    • 平均値変換の結果 ARE
  • suaokybhai
    • su, ao, ky, bh, ai
    • 平均値変換の結果 THREE
  • ouow
    • ou, ow
    • 平均値変換の結果 RS
  • aqht
    • aq, ht
    • 平均値変換の結果 IN
  • mynznvaatzacdfoulxxz
    • my, nz, nv, aa, tz, ac, df, ou, lx, xz
    • 平均値変換の結果 STRAWBERRY

最終的な解読文

  • 全体の解読結果は「THERE ARE THREE RS IN STRAWBERRY」である
  • RSR という文字たちを意味し、文全体は STRAWBERRY の中に R が3つあるという意味に読める

1件のコメント

 
GN⁺ 2024-09-13
Hacker News のコメント
  • ドキュメントを見てみると、このモデルにアクセスするには tier 5 である必要があり、合計 $1,000 以上の支払いと、初回の支払い成功から 30 日以上経過していることが必要です
    価格は入力 100 万トークンあたり $15、出力 100 万トークンあたり $60 で、コンテキストウィンドウは 128k トークン、最大出力は 32,768 トークンです
    mini 版は最大出力が 65,536 トークンで 2 倍になっており、入力 100 万トークンあたり $3、出力 100 万トークンあたり $12 です
    ブログで言及されていたコーディング特化版は、まだ利用可能な形には見えません
    隠された思考連鎖(reasoning)が有料の出力トークンとして課金されるのかは不明ですが、ブログの例を展開してみると非常に冗長なので、すべて課金されるならコストは急速に膨らむ可能性があります
    https://platform.openai.com/docs/models/o1
    https://openai.com/api/pricing/
    https://platform.openai.com/docs/guides/rate-limits/usage-ti...

    • API アクセスに tier 5 が必要ということで、たとえば ChatGPT Plus ユーザーも o1 モデルにアクセスできます
    • OpenAI API からメールを受け取りましたが、usage tier 5 の信頼された開発者として o1 ベータを開始でき、o1-preview と o1-mini の 2 つのモデルを使えると案内されていました
      どちらのモデルもベータ期間中は 20 RPM の制限があり、o1-mini は o1-preview より 80% 安く、より高速で、コーディング作業で競争力があるとのことです
    • 推論トークンは実際に出力トークンとして課金されます
      API では見えませんが、モデルのコンテキストウィンドウの領域を消費し、出力トークンとして課金されるとドキュメントに書かれています
      https://platform.openai.com/docs/guides/reasoning
    • 一部のクエリは数分かかります。秒間 40 トークンは 思考連鎖 には遅すぎます
      OpenAI が秒間 1k トークンに到達できる Groq のような低レイテンシ技術に投資してほしいです
    • 結局これは サービスとしての思考連鎖 に近いのではないかと思います
      モデルそのものというより、裏側で複数のモデルリクエストをつなげるサービスのように見えます
  • 懐疑的な理由の一つは、最初の 2 つの精度グラフに具体的な軸ラベルがないことです。ただ ログスケール とだけ書かれていて、どれくらい時間がかかったのか大まかにすら分かりません
    80% の精度という結果が計算 10 秒なのか、10 分なのか、10 時間なのか、10 日なのか、提示されたデータからは判断できません
    コーディングのセクションには「難しいアルゴリズム問題 6 問を解くのに 10 時間」とありますが、これが記事前半のグラフとつながっているのかも不明です
    記事に数値や事実が多いのは良いことですが、序盤のグラフデータを曖昧に扱うという選択は信頼感を与えません。見栄えの良いデータは選び、不利なデータは隠しているように読めます

    • 核心的な答えは見えています。指数的なコスト関数 の上で、時間がかかりすぎてこれ以上探索する余地がなかったということです
      最大で示せる精度が高いほどレポートはより印象的になるのですから、なぜそこで止めたのでしょうか。実際の時間やコストの代理指標をなぜ外したのでしょうか。続けるのが非現実的で、すでに時間とコストが大きすぎて反応に悪影響を及ぼし得たからだと思われます
    • トークン価格が 100 倍安くなったとみんな祝っていましたが、今度は 100 倍多いトークン を使う新システムが出てきました
    • 高難度の領域では、回答品質と計算量の間に非線形の関係がある可能性が高いです
      私たちは定額型の価格モデルに慣れてきましたが、AGI 級のモデルでは、より難しく重要なクエリにはより多く支払う必要があるかもしれません。こうした内在的な複雑さは避けにくいものです
      もちろん時間が経てば、妥当な範囲でより良く、より安くなるでしょう。まずはこの程度の品質の 機械的思考 が可能になったことを喜んでもよいと思います
    • 議論する必要はあまりありません。もうすぐ直接使ってみて、自分の仕事でどうなのか確認すればよいのです
      それとは対照的に、Gemini Ultra はこの数か月「最高だが存在しない Google モデル」だったにもかかわらず、期待だけは好きなだけ外挿されています
    • OpenAI のような会社に 透明性と明確さ を期待するとは大胆ですね
      読みやすく信頼できるグラフが欲しかったのでしょうか? そんなものはなく、帰り際に見えもしない思考連鎖トークンの費用でも払え、という感じです
  • 記事中盤の思考の連鎖ウィジェットにある「安全」の例は、本当にばかげている
    OpenAIが「ストリキニーネ合成に関する詳細な指示をLLMが出すのは容認できず、以前の出力はこうだったが、私たちはこのように穏当化された内容を好む」と言っているようなものだ
    LLMにだけ「安全」への執着が付く理由が分からない。従来の手段で広めるのは構わないが、LLMが共有するのは絶対にだめだということなのか

    • 「安全」には、関連はあるが別々の2つの形がある
      1つは、現代の知識人の一部が共有する有害な検閲衝動だ。自分たちだけが世界のアイデアを安全に扱い、真偽を判断できると信じ、大衆が誤った考えを持たないように情報と言論を検閲すべきだと感じている。これは悪いことであり、抵抗すべきだ
      もう1つは、潜在的に危険な出力がAIモデルの自己回帰的な思考過程の中に入り込まないようにしようとする慎重な衝動だ。独立して行動できる思考する機械を作るなら、「問題の元凶に投与する毒を合成して解決しよう」のような考えを悪い考えとして印を付け、行動しないよう教えるのは良いことだ。人間社会も、子どもに善悪を教えるという形で、すでにそのように機能している
    • 誰かがストリキニーネを合成するためにLLMの段階的な指示を必要としているなら、その人は実際にストリキニーネ合成を行う実験技術を持っていない人だ
      LLMがこの種の質問を拒否しようがしまいが、現実のストリキニーネ中毒リスクは増えない
      ただし記者や規制当局は、表面的に危険そうに見える指示が実際にはほとんど危険ではないという点を理解できないかもしれない。実際の化学者は「5歳児に説明するような」合成指示を必要としないし、批判者が類似の危険情報を世論戦で企業に不利に使う可能性があるので、こうしたプロンプトの拒否は評判リスクを下げつつ、専門研究者には大きな損害を与えない
      とはいえ、最新最強のモデルが無害な化合物の新しい合成法について、でたらめな内容を提案するのを見たことがある。専門の化学者はLLMをアイデア生成器や論文検索ツールとして使うべきで、拒否せずに吐き出した内容をそのまま信じてはいけない
      https://en.wikipedia.org/wiki/Strychnine_total_synthesis
    • 推測だが、ここで言う「安全」の改善は、その言葉が示唆するよりも一般化された能力に見える。つまりO1は、会話中の脱獄の試みにだまされず、プロンプトの安全指示によりよく従う
      OpenAIの立場では主に政治的な境界に関する指示だろうが、より具体的に有益なユースケースにも一般化できるかもしれない
      例えば、自動車ディーラーのWebサイトのチャットボットを説得して、途方もなく低い価格で車を提案させた事例があった。O1は「ユーザーに特定価格での拘束力のある提案をしてはならない」のような指示により厳密に従うことができ、同じ手口には引っかかりにくいだろう
      生のモデルを使うときは、コンピュータは私が命じた通りに動くべきだという側に強く傾くが、チャットインターフェースで包んで非専門家にQ&Aマシンのように見せると、妥当な懸念が生じる。爆弾の作り方の問題も「人々がこの情報を得るべきではない」だけではなく、幻覚が混じった文脈で情報を受け取ることが危険だという点が大きい。90%正確な爆弾の作り方は、正確な作り方よりもユーザーにとってはるかに危険だ
    • 機械学習企業は、立法や文化的反応を事前に予測しなければならない
      機械学習は合法的な活動を強化するのと同じように犯罪活動も強化するだろうし、ソーシャルメディア上の人物や従来型メディアは必ず刺激的な形で包装しようとするだろう
      Telegramがテロや児童虐待の責任者として包装されるのと似ている
    • 「安全」はSam Altmanが選んだマーケティング手法
      「GPT-2は公開するには危険すぎるかもしれない」と言ったとき、記者とメディアはそれを好み、膨大な無料宣伝になり、会社が格好よく見えた
      安全を強調し続ければ、LLMが他のテキスト予測アルゴリズムと根本的に異なり、ほとんどAGIだという印象も強まる。つまり彼の財布にとって良い
  • モデル性能は思考の連鎖に牽引されているが、競争優位など複数の理由から、ユーザーには思考の連鎖の応答を提供しないということだ
    GPT-4のリリース後、OpenAI以外のモデルをGPT-4の出力でファインチューニングすることは非常に一般的になった。OpenAIがこのモデルの思考の連鎖の応答でファインチューニングされると、結果の再現がより速くなるのではないかと懸念するのは妥当に見える
    結局、他の全員に難しい方法で再現することを強制しているわけだ。公開重みモデルにとっては悲しい知らせだが、理解できる判断だ

    • これまでのオープンソース/公開重みモデルは、OpenAIに特別な魔法のソースがないことを示してきた。Metaや他の場所から、近いうちにこの水準の推論に近いモデルが出てくると思う。上位研究者の一部が去った点も考慮すべきだ
      ざっと見ると、思考の連鎖は各段階でバランスを取る長い思考の連鎖の連続で、否定的な結果が出ると少し戻る方式が加わったもののようだ。迷路を解くのに似ている
    • 残念なことだ。LLMが間違えるときは、思考の連鎖を読んで、入力の誤りなのか、指示の誤りなのか、単なるでたらめなのかを確認するのが非常に有用だ
    • 思考の連鎖は今やOpenAIの主なアラインメント手法になった。その情報を公開すれば、その利点は消える
      この見方には同意しないが、他のモデルに有用な学習情報を漏らす問題よりも、意思決定において大きな比重を占めているだろう
    • 生成される思考の連鎖トークンが相当な量なら、コストの公平性の面でも隠すのは奇妙だ
      彼らが利益のためにトークンを水増ししていないと、どうやって信じられるのか
    • 実際の思考の連鎖の代わりに要約版だけでも公開してくれるとよい
      実際のトークンは漏らさずに過程の輪郭を理解し、可能ならどこで間違ったのかも把握できる
  • ここにいる多くの人は、単純な思考の連鎖プロンプティングと今回の件がどう違うのかを見落としているようだ。ここでは強化学習で良い思考の連鎖戦略を学習している
    「強化学習を通じて、o1は思考の連鎖を磨き、それを使う戦略を精緻化する」とされている
    例の思考の連鎖を見ると、モデルが解こうとしている問題に応じて異なる戦略を使っていることが分かる

    • 「一般的な」思考の連鎖実験とどう比較されるのか気になる。例えばgpt4oの結果はゼロショットだったのか、それとも解法を段階的に説明するよう求めたのか知りたい
    • 基本的には拡張された**思考の木(Tree of Thoughts)**のようなものだ
    • GoogleのAlphaGoが、これまで見た中で最高の囲碁を打つように学習した方法を思い出す。これはその一般化のようにも見える
  • 提示された暗号の例の思考の連鎖を読んでみると、かなり驚かされます。例に行って「Show Chain of Thought」を押せば見られます。
    人が頭の中で暗号を解くときに通りそうな思考の段階を、文字どおりすべて書き出しています。「Hmm」のような役に立たないものまで含めてです。
    速度を落とし、使っている論理を書き出したうえでその上で推論すると、論理力が上がるように見えます。学校でそう学ぶやり方に似ています。

    • 本当にそうです。思考の連鎖そのものが、ChatGPTが最初に登場したときと同じくらい印象的に感じられます。
      もはや「単なる」オートコンプリートではなく、アイデアや行き止まり、洗練に満ちた実際の段階的推論のように見えます。もちろん究極的には今でもオートコンプリートで動いているとしてもです。
      そうすると、人間の推論も似たようなものではないかと気になってきます。「思考段階」の基本パターンに従っているだけで、結局は「英語文法の段階」と大きく違わないのかもしれません。
      LLMは当初考えていたよりはるかに強力で、「考えさせる」ような正しい構成につなげる方法を見つける問題にすぎないのかもしれない、と思わされます。
    • 「hmmm」や「perfect!」のようなものを見ると、人間が作った学習データがどんなものだったのか簡単に想像できます。複雑な問題を解きながら、文字どおり頭の中を声に出して話すよう求められたのでしょう。
    • Average:18/2=99 corresponds to 'i'But 'i' is 9, so that seems off by 1 のような部分を見ると、やはり数を数えることには以前と同じく弱そうです。
    • こうした思考の連鎖の痕跡を実際に受け取れる保証はありませんが、数学コンテストを学ぶ人には非常に有用だと思います。
      実際に推論全体を提示しなければならず、トランスフォーマー自体は普通それほど賢くないので、普通の知的能力を持つ人でも練習すればこうした痕跡を再現できそうです。
    • 「STRAWBERRYにはRが3つある」という部分は笑えます。
  • 驚くべき進歩です。4月に標準のGPT-4モデルをChatGPTで使って、キッチン換気扇のバイナリBluetoothプロトコルをリバースエンジニアリングし、Home Assistantに統合しようとしました。
    ラバーダック的には役に立ちましたが、特定モードでファンの残り実行時間を送信するパターンは突き止められませんでした。最初のプロンプトはこちらです [0]
    同じプロンプトをo1-previewとo1-miniに入れたところ、どちらもパターンを正確に理解して解読し、4月に私が見つけたものとは少し違う方法を使っていました。私のコードがモデルがリバースエンジニアリングしたものと同等か尋ねると、微妙な点まで徹底的に検討したうえで同等だと結論づけました [1]
    同じプロンプトをgpt4oに入れると、4月のGPT-4(ChatGPT)モデルと同じ結果になります。本当に驚くべき発展です。
    [0]: https://pastebin.com/XZixQEM6
    [1]: https://i.postimg.cc/VN1d2vRb/SCR-20240912-sdko.png

    • 参考までに、Save ChatGPT as PDF というChrome拡張があります [1]
      ChatGPT for Businessのサブスクリプションでは会社のポリシー上エクスポートが禁止されている可能性があるので使わないでしょうが、個人用途ではかなり便利です。
      https://chromewebstore.google.com/detail/save-chatgpt-as-pdf...
    • 印象的です。o1-previewをどう使ったのか気になります。ChatGPTの有料ユーザーですが、chatgpt.comのモデル選択には4o、4o-mini、4しか表示されません。リストにo1が見えているのか、それとも別の場所にあるのか気になります。
    • ChatGPTのインターフェース右上に大きな「Share」ボタンがありませんか? それとも別のフロントエンドを使っているのでしょうか。
    • 印象的です。ChatGPT-4は失敗するがo1は成功する、変形版の論理パズルを2つ試してみました。
      学習データに元のパズルの事例が多すぎるため4は正しく当てられませんでしたが、o1はそこにつまずきません。
      https://chatgpt.com/share/66e35c37-60c4-8009-8cf9-8fe61f57d3...
      https://chatgpt.com/share/66e35f0e-6c98-8009-a128-e9ac677480...
    • GPT-4oとo1-previewに、手早く100ドルを稼ぐPythonスクリプトを作るよう頼んだところ、o1はかなり興味深い結果を出しました。
      https://x.com/soheil/status/1834320893331587353
  • 人が紙で解ける程度のROT暗号文の解読を簡単に試しましたが、出力はかなり期待外れでした。
    文字頻度の計算、よくある単語の特定といった「作業しているように見える」段階は多かったものの、複数の段階が間違っていたり、後続の確認がなかったりしました。結局、自分の答えを検算したと主張しながら、前の段階の条件すら満たさない誤った解答を出しました。
    AIをいくつかのミスで判断しようというわけではなく、暗号はやや敵対的なタスクではあります。しかし、推論のどの面も、以前見た思考の連鎖デモより高度だったり一貫していたりするようには見えませんでした。結局、主な根拠は論文ですが、そこでこのモデルが意図された種類のタスクで信頼できるという判断にどう到達すればよいのか分かりません。
    それとは別に、思考の連鎖の出力はツール利用を強く望ませます。LLMはしばしばアルゴリズムの出力そのものをまねなければならないからです。こうした商用の思考の連鎖ソリューションなら、文字数カウントのようなものには100%信頼できる標準関数ライブラリを使えるべきだと思います。

    • o1モデルを使ったのが確かで、gpt4oではなかったのか気になります。私はo1を使っていますが、シーザー暗号は安定してうまく解けています。
    • 強化学習なので、学習用に作られたタスクには非常に強い一方、他のタスクにはそれほど強くないはずです。
      印象的ではありますが、強化学習の問題は未来についての知識が必要な点です。
    • 気になるのですが、同じものをClaudeでも試してもらえますか。Claudeはどんな種類のROTでもGPTに比べて非常に性能が良かったです。
  • かなり大きな技術的成果であり、この分野でこうした進展を見るのは楽しみです。
    ただし、このツールもすべての LLM と同様に、依然として幻覚に弱いという点で、有用性には非常に不安があります。正確には誰のためのツールなのでしょうか。
    出力を批判的に判断できるほどの専門家なら、そのまま自分で推論しても同じような結果になる可能性が高いです。出力を評価する能力がなければ、完全に間違った答えに依存してしまう危険があります。
    たとえばデータベースの結合順序最適化アルゴリズムを評価してほしいと頼んだところ、推論の序盤で自信ありげに「結合コストは通常対称的だ」と誤って述べ、その後の段階でその前提を反映して、内部データ構造を有向グラフではなく無向グラフに「単純化」するよう提案しました。
    データベース最適化に慣れていれば、これが大きく間違っていることは分かります。しかし残りの推論の流れは一貫していて説得力がありました。
    自分がすぐに誤りだと見抜けない事実にモデルが自信を持って依拠すると、私を間違った方向へ導いてしまうのではないかと心配です。

    • これまでこうしたツールから得られる効用は、十分な時間があれば自分でも確実に見つけられることに対する、とても良い参考資料や補助役に近いです。
      特定の構文エラーを整理する最善の方法を探す、クラスと明らかに必要な基本関数をセットアップする、数学の問題を解いていてどこで道を外れたのかを見つける、といったことです。
      これらのツールは「もうコードのテストやレビューも不要で、社会に数学者も不要で、ファクトチェック用の資料も不要」というレベルではありません。AGI の目標ではあるかもしれませんが、ツールの有用性を評価する基準にはしていません。
      ツールの価値は、完璧かどうかよりも、それで何を成し遂げられるかにあります。まれに誤字のある本でも辞書はスペルの参考資料として有用であり得ますし、C++ 全体を正確に理解しておらずコーディングミスも多い同僚でも、コードに有用な洞察を与えてくれることがあります。必要な正確さに到達するのをどれだけ助けてくれるか、そして自分がどう使うかが重要であり、正確さだけで決まるものではありません。
    • 考えることにはエネルギーがかかります。かなりかかります。
      人間はこの点で LLM よりはるかに効率的ですが、自転車もレーシングカーよりはるかに効率的です。モデルが笑ってしまうほど間違っているときでさえ、推論の方向性だけで自分の思考を有用に加速してくれることがあります。
  • コーディング用途で試してみたい人がいれば、ちょうど o1https://double.bot に追加しました。
    性能は本当に良いです。gpt-4o や Sonnet が失敗するたびに書き留めている個人的な問題セットがあるのですが、o1 は今のところすべて解けています。
    ただし本当にかなり遅いです。
    思考の連鎖が隠されている点も興味深いです。OpenAI がモデルを改善しても、公開モデルがすぐには蒸留して持っていけない初めての事例のように思えます。最近、推論時の計算に関する論文はすでに多く出ているので、オープンソース陣営が手法面でどれだけ早く追いつくかも興味深いです [1,2]。
    現在提供されている o1-preview が木探索をしているのか、それとも学習分布内のより良く詳細な軌跡から蒸留された思考の連鎖を一発で生成するだけで動いているのかは、はっきりしません。
    1
    2

    • 今 Double を試しているところです。
      o1 は JavaScript ファイルを TypeScript に変換する作業で、Llama 3.1 405B、GitHub Copilot、Claude 3.5 よりずっと良い結果でした。同じ機能を保ちながら、コードも少し単純化してくれました。非常に印象的です。
      約160行のファイルはリファクタリングできましたが、約420行のファイルでは「考え中」の吹き出しが無限に表示されます。o1 の応答時間が長くなって、何かがタイムアウトしているのかもしれません。