世界を動かす技術を、日本語で。

人類の料理全てを2メガバイトに圧縮

概要

Epicureは、マルチリンガルなレシピコーパスを用いて再学習された、三つの兄弟的skip-gram食材埋め込みモデル群。 4.14百万件のレシピを11ソース・7言語から収集し、1,790の正規化食材エントリを作成。 二種類のグラフ構造(NPMI食材共起グラフとFlavorDB化合物グラフ)を活用。 三つのMetapath2Vecバリアント(Cooc、Chem、Core)を設計。 それぞれのモデルはレシピ文脈と化学情報のバランスが異なる特徴。

Epicure: 多言語レシピコーパスを用いた食材埋め込みモデル

  • Epicure は、三つの異なる skip-gramベース食材埋め込みモデル ファミリー
    • Cooc、Chem、Coreの三兄弟モデル構成
  • 4,140,000件のレシピを 英語、中国語、ロシア語、ベトナム語、スペイン語、トルコ語、インドネシア語、ドイツ語、インド英語 の七言語から収集
  • 食材文字列を1,790種類の正規化エントリ にLLM補助パイプラインで変換
  • NPMI共起グラフ(203,508エッジ)FlavorDB化合物グラフ(80,019エッジ・2,247ノード・15カテゴリ) を構築
  • Metapath2Vec を用い、三種のランダムウォークスキーマでモデルを分岐
    • Cooc :食材共起グラフのみでランダムウォーク
    • Chem :FlavorDB化合物メタパスのみでランダムウォーク
    • Core :両者を混合し、制御された比率で食材-食材ウォークを注入
  • 各モデルは、 レシピ文脈(共起)と化学的関連性 のバランスが異なる特性

Epicureモデルの意義

  • 多言語・大規模レシピデータ を活用した食材知識の体系化
  • 食材の意味的・化学的関係性 を同時に考慮可能な埋め込み表現
  • レシピ推薦、食材置換、フードペアリング など多様な応用可能性
  • Metapath2Vec のランダムウォークスキーマ選択で 応用ニーズに応じた調整 が可能
  • 人工知能、自然言語処理、社会コンピューティング 分野での新たな知見創出

技術的特徴

  • 大規模データ正規化 :LLMによる食材名統一手法
  • グラフ構造活用 :NPMI共起・FlavorDB化合物グラフの多層的利用
  • メタパスランダムウォーク :文脈・化学情報の動的バランシング
  • ハイパーパラメータ統一 :モデル間比較のための条件統一
  • 再現性・汎用性の高いアーキテクチャ 設計

Hackerたちの意見

いいね!レシピを小さな図式にまとめようとしてるんだ。https://leontrolski.github.io/recipes.html

これめっちゃいいね!このコンセプトを基にしたレシピ本が成功すると思う。料理中に遠くからでも読める大きな図式があれば最高だよね。

ああ、依存関係グラフのレシピカードね。これ、素晴らしいよ。ずっとこんなのを思い描いてた。レシピが材料を巨大なリストに並べて、「乾燥材料を深いボウルで混ぜる」みたいな指示を出すのにはいつもイライラしてた。しばらくは、これをうまく実装すれば良いリターンがあると思ってたけど、今は強力なインターフェースができると簡単にコピーできちゃうみたいだね。

いいね!これ、https://www.reddit.com/r/flowchartrecipes/を思い出させるし、https://www.cookingforengineers.com/recipe/87/Carrot-Pulp-Ca...のテーブルビューにも似てる。

いい感じだね。Cooking for Engineersのテーブル形式をちょっと思い出すよ(レシピの一番下までスクロールしてみて):https://www.cookingforengineers.com/recipe/19/Erics-Chocolat...

これすごく好き!数年前に新しいおしゃれなレシピを作るのにハマってた時期があって、レシピページをスクロールしたり、自分の汚いメモを読み解いたり、数週間前に書いたメモの文脈を理解するのが大変だったんだ。全部目の前に揃ってるのは本当にいいね。それと、なぜか「豆(グリーン)」がすごくツボに入るんだよね。

かなりの部分で、避けられるエッジの交差があって、直感的な読みやすさが大幅に改善できると思う。グラフ理論には、グラフの描画や平面埋め込みを考えるサブフィールドがあるんだ。

いい取り組みだね!シンプルなのにちゃんと機能してる(リストに載ってるレシピは、全部うまくいくって知ってるよ)。

なんでそんなにフェタを扱ってるの?

すごく面白いサイトだね!手描きのグラフが楽しかった。あなたの表は「モダニスト・クイジーン」のレシピを思い出させるよ。手順ごとに材料がグループ分けされて、重さや時には体積、比率も書いてあるんだ。例: https://modernistcuisine.com/wp-content/uploads/2013/01/Mac-...

私も大好き!ブックマークしたし、ぜひ使いたいな!どこかに書いた?

ロンドンに拠点を置くスタートアップ、Kaikakuが自動化されたレストランや料理をやってるよ。

この作品はとても面白いね。タイトルがちょっと誤解を招くかな。「人間の全ての材料を1,800の原始的な形に圧縮」っていう方がいいかも。実際の料理については、調理方法や分量などの具体的なことがほとんどないけど、トマトが牛肉と相性がいいっていうのは世界中で興味深くて、意外な組み合わせを作るのに役立つかもしれない。将来的にはいいリソースになりそう。

興味があるなら、この論文をチェックしてみるといいかもね: https://www.nature.com/articles/srep00196

「トマトが牛肉と相性がいいっていうのは、世界中でとても興味深いよね。昔、12人分のビーフシチューを作ってた時に、トマトソースを加えて救ったことがあるんだ。牛肉は煮込み方を間違えると硬くなるけど、トマトの酸がまた柔らかくしてくれるんだ。」 編集:市販のトマトについての誤った情報を削除しました。

すごく面白い本があって、フレーバーの組み合わせを探求してるんだ。フレーバーバイブルっていうやつ。全1800種類の材料の組み合わせが載ってるわけじゃないけど、よく使われるハーブやスパイス、野菜、肉の選び方が素晴らしいよ。圧縮版でもそんなに大きくならないと思う。LLMが生成するレシピの問題は、技術のニュアンスを見落としがちなんだよね。成功するかどうかは、たった一つのステップや比率にかかってることが多い。例えば「フライドチキン」って、世界中でいろんなバリエーションがあるけど、レシピを平均化したら美味しいフライドチキンにはならないよ。

+1。ちょっと脱線するけど、食材のペアリングについて考えてるんだ。これは、揮発性の香り化合物や特定の分子ファミリーを共有する2つの食材が、感覚的に相性が良いかもしれないっていう考えに基づいてる(例えばブロッコリーとイチゴ)。そういう食材を試して、未知のペアリングを見つけたいな。でも、今は時間がないんだよね。

何か見落としてる気がするけど、論文には「人間の全ての食材」っていうことを示すものはないよね?データソースは11個あって、いろんな一般的な料理をカバーしてるみたいだけど、英語と中国語のソースがデータセットの90%を占めてるんだ。アフリカやアラブのデータは含まれてないし(これで世界人口の約25%が抜けてる)、非英語の用語は全部AIで英語に翻訳されてるのは理解できるけど、やっぱり誤訳の可能性があるよね。

人間のために料理するより、ロボットに食材の組み合わせを教える方が安上がりだね。

[Claude] は決定論的デコーディング(温度0〜0.1)の下で全ての材料分類を行った。 この文脈ではあまり関係ないけど、低温は決定論的とは同じじゃないよ。

そうだね。ゼロ温度は決定論的推論にとって必要でも十分でもないよ。

英語とドイツ語を含んで、イタリア語とフランス語を除外した食べ物に関するモデルやコーパスは信頼できないな。

表にはイタリア料理、フランス料理、その他の料理が載ってるよ。11のソースリストは言語用だね。本格的なフランス語で説明されたレシピが欠けてるけど、英語版のフレンチオニオンスープは確かにあるよ。

「11のソースから、7つの言語、英語、中国語、ロシア語、ベトナム語、スペイン語、トルコ語、インドネシア語、ドイツ語、インディアン・イングリッシュが含まれている。だから、ほとんど『人類の料理のすべて』とは言えないよね…」

そうだね。コーパスを見てみると、基本的にレシピの半分は中華料理や韓国料理なんだ。すぐにそれを認めてはいるけど、バランスの取れたセットではないね。

それは現在の世界人口の約70%を代表してるね。100%のカバーはないけど、主要なグループのほとんどを含んでる。ただ、イタリア料理、日本料理、ギリシャ料理、メキシコ料理が抜けてるのは致命的で、これらなしでは不完全だし、アフリカや中東のデータは全くないよ。

X/Twitterで見たんだけど、人間の料理やその技術、材料、文化的な文脈での調理法が2メガバイトに圧縮できるとは思えないな。1GBのモデルがあって、ツール呼び出しやコーディングができるって言われて試してみたら、ほとんど機能しないみたいな感じだよね。確かに技術的には1GBのコーディングモデルだけど、良いものではないよ。

美味しい人間の食べ物の範囲は狭いんだ。数千の食材と数千の調理技術しかないから、これを高精度でモデル化するのは簡単だよ。

前回の食べ物関連のスレッドでこれを言い忘れたから、今さらだけどここに書くね。三角形の小麦粉、牛乳、卵がエッグノッグを持ってるけど、エッグノッグにはアルコールが含まれてて、それはデンプンからできてるから、通常は小麦粉になるんだよね。だから、実際には表示されているよりも小麦粉に近い割合になってる。うん、スペクトラムについては色々あるね。

[1]を見てみて、これがこの論文が説明しているものの古いバージョンのデモみたいだよ。デモで選ばれた材料が何か気になったから、ピーター・ギルモアの「Organum: Nature, Texture, Intensity, Purity」からいくつかマイナーな材料を試してみたんだ(彼はオーストラリアのシドニーにあるクイーのレストランで有名)。ジュニパーベリーやマカダミアナッツ、ニゲラシード、オレンジブロッサムウォーター、レモンバーベナなど、冒険的な材料が入ってるよ。ごま油と焙煎ごま油も分けてるし。「米」とか「黒米」、「玄米」、「もち米」しか材料リストにはないけど、「米」を選ぶと、生成されるレシピはジャスミンライスを冷やしてから使うようにアドバイスしてくれるし、バスマティライスは浸して洗うことを推奨してくれる。もし「ラム」を選ぶと、生成されるレシピは、通常煮込みに使う野菜を選ぶと肩肉やすね肉を選んでくれるんだ。グレープシードオイルやオルゾ、マンゴスチン、レモンマートル、もちろんピーター・ギルモアが使うような材料は知らないみたいで、ほとんどのシェフは聞いたこともない(例としてカーカラ)。こういう材料はかなりローカライズされてるから、あまり制限にはならないと思う。「かぼちゃの種」は知ってるけど「かぼちゃ」は知らないんだよね。つまり「スカッシュ」ってことだから、イギリス英語やアメリカ英語の使い方を改善する余地はあると思う。「ラム」と「アボカド」を組み合わせてサラダのレシピが生成されることを期待したけど、失敗したんだ。材料リストにはレタスやルッコラが含まれてなくて、「サラダグリーン」っていう表現しかなかったから(アメリカ英語)、何を試してもサラダは生成されなかった。生成されるのは、トマトジェル(アガーアガー)に囲まれたタンパク質の塊や、アボカドのスミアみたいな、いわゆるファンシーな料理ばかりだった。

「人間の全ての料理」ってどういうこと?アフリカの食材は入ってるの?クリックベイトだね。