Avatar
😀

Organizations

  • 📄論文情報

    🔑この論文のキーメッセージ

    • LLMのFunction Callingの性能向上のためには、多くのAPIに関する情報があると良い

    🎓どういう問題に取り組んだのか

    • Function Callingとは、自然言語の指示にの応答を生成するために必要なAPIを叩き、必要な情報を得るタスクのことを指す
    • この論文では、このタスクの学習に必要なデータを自動生成するためのパイプラインを提案している

    🧑‍🎓その問題に取り組むことがなぜ重要なのか

    • 既存のfunction callingデータセットは実用のためには不十分である
      • 例えば、学習データ内で使用されているAPIが一部のカテゴリに偏っている場合、そのデータで学習されたLLMエージェントは他のAPIからのデータの取得ができなくなるという課題がある。
    • そのため、多様なAPIを扱うデータセットが必要になる

    💡問題解決に向けたキーアイデアは何か

    • 提案手法は、データの生成と多段階によるフィルタリングから構成されている
    • データの生成
      1. 既存のAPIを用いたQAペアをJSON形式に変する。
      2. プロンプトはデータ生成の目的になるテンプレートを選択し、QAペアを生成させる
      3. 生成されたペアをJSON形式に変換する
    • 生成されたデータをフィルタするために以下の3つの方法を用いる
      1. フォーマットの検証:生成されたJSONのフォーマットが正しいか、APIの呼び出し時に適切な引数を指定しているか検証する
      2. 実行可能性の検証:データに含まれたAPIが実行可能であるか検証する、実行可能ではない場合、フィルターする
      3. 文法の検証:複数のLLMを用いて、目的を達成するための関数を呼び出すことができるかなどを総合的に評価する
    • データの多様性を確保するために、テンプレートを複数用意することや、基データからどのようなデータをサンプリングするかを工夫している

    👀新たに分かったことは何か

    • ToolBenchを基データとして生成を行った

      • 基データとして活用するために、いくつかのフィルターを適用したの3500件を使用している
    • 生成パイプラインを様々なLLMを用いて検証した所、小規模なモデルは無効なAPIを呼び出る例が多い

    • 学習したモデルの評価はBerkley Function-Callingデータセットを使用している

    • FCのために学習されたLLMはGPT-4oなどよりも良い性能を示している

      • 学習に使用しているLLMは1Bと7Bのモデルなので、より小規模なパラメータになっているかも?
    • 各フィルタリングステップにおいて、フィルター後のデータを用いてモデルを学習し、評価した

      • 上の説明において、フォーマットの検証のみを適用したデータ、1と2を適用したデータ、全てを適用したデータに分けている
      • 評価結果としては、全てを適用したデータにより学習されたLLMの性能が最も良かった
      • このことから、提案したフィルター方法の有効性が分かる

    ❓疑問点は何か

    • GPTとかのモデルの比較って平等な比較になっているのか疑問だった
    • 生成されたデータの多様性の評価は行われていないのが気になった
      • プロンプトのテンプレやデータの持ってき方の工夫で十分なのかな
    paper Created Mon, 10 Nov 2025 00:00:00 +0900
  • 嫉妬という感情を巡る議論についての本だった。 とりわけ、嫉妬が類似している者同士の間に生じるものという指摘はとても分かるなあと思った。

    妬まれないための戦略に、ロゴがデザインに組み込まれているハイブランドが嫌いである理由が言語化されている気がした。 戦略として、「隠蔽」「否認」「賄賂」「共有」という4つの戦略が挙げられていた。 この中の隠蔽については、妬みの対象となるものを隠す行動を指す。 ロゴが入っていることにより、隠蔽という戦略が無効になり、妬みが想起されてしまう。 これまでは上手く言語かできていなかったけど、上手く言語化されていて、腑に落ちた。

    これまでの思想家が嫉妬についてどのように論じてきたかもまとめられていた。 会話の0.2秒を言語学するという本で、著者が哲学について、当たり前のことに理屈っぽく取り組んでいる様を面白がると良いとあった。 この本自体ぶ厚くないから、この面白さをを味わうのにとても良かった。

    book Created Sun, 09 Nov 2025 00:00:00 +0900
  • Emacsのlsp-modeでlua-language-serverを動かそうとしたら、ハマったのでメモ。

    モテるターミナルにカスタマイズしよう(WezTerm)を見て、weztermを設定しようとした。

    設定ファイルである wezterm.lua をEmacsで編集するためにluaの環境を整えようとしたら、Lua-language-serverを lsp-mode が認識しなかった。

    加えて、自動でインストールしようとしたら、emacsがフリーズしてしまった。

    動作させるために必要だった設定は以下の通り。

    (setq lsp-clients-lua-language-server-bin (format "%s/.nix-profile/bin/lua-language-server" (getenv "HOME"))
          lsp-clients-lua-language-server-main-location (format "%s/.lua-language-server/main.lua" (getenv "HOME")))
    ; reference : https://github.com/emacs-lsp/lsp-mode/issues/4688#issuecomment-3138937688
    (defun my/lsp-clients-lua-language-server-test ()
      "(Improved) Test Lua language server binaries and files."
      (or (and (f-exists? lsp-clients-lua-language-server-main-location)
               (f-exists? lsp-clients-lua-language-server-bin))
          (f-exists? (car (split-string lsp-clients-lua-language-server-command)))))
    
    (advice-add #'lsp-clients-lua-language-server-test
                :override #'my/lsp-clients-lua-language-server-test)
    

    lsp-mode自体にもIssueが上っていたためそれを参考にして設定したら動作した。

    私はnixを使用してlua-language-serverをインストールしている。 インストールする時に、lua-language-serverの main.lua を適当な場所に配置する。

    この main.lua の場所を lsp-clients-lua-language-server-main-location に設定し、 lsp-clients-lua-language-server-bin にlua-language-serverをインストールしたPathを設定する。

    最後に、このIssueコメントにある関数をコピペしたら動いた。

    参考 : Externally provided lua-language-server is not recognized #4688

    tech Created Wed, 08 Oct 2025 00:00:00 +0900
  • このブログはHugoGithub Styleを少し設定している。

    デフォルトだと、自己紹介などがブログに埋もれてしまうためメニューバーに追加した。

    現状、一つ加える度にhtmlを触らないといけない実装になっているのが気になるが、動いているからヨシ!

    config.toml に以下の要素を追加して、設定ファイルに追記すれば要素が追加されるようにした。

    [[params.self]]
      name = 'Self'
      url="introduction/introduction"
    

    そして、作成したHugoプロジェクト以下に layouts/partial/menu.html を作る。

    menus.html の追加のメニューとして以下の変更を加えた。

    {{ range .Site.Params.projects }}
    <a class="UnderlineNav-item
              {{ if .IsSection }}  selected  {{ end }}
              {{ if eq .Type " tags" }} selected {{ end }}"
       href="{{ absURL .url }}">
      {{ .name}}
    </a>
    {{ end }}
    

    既存の実装では、リンクを貼る実装が {{urls.JoinPath .Site.BaseURL url}} になってる。

    だが、上手く動作してくれなかったので {{absURL .url}} という実装にしている。

    tech Created Tue, 07 Oct 2025 00:00:00 +0900
  • チェーンソーマン レゼ編を見た

    漫画では分からなかったシーンが補完されていて、面白かった。

    この映画では、爆弾の悪魔であるレゼと主人公であるデンジが出会い、戦うまでが描かれている。

    デンジがレゼと祭りに行く辺りから戦闘に移行するまでの音楽の変化が印象的で、戦闘シーンの派手さが強烈だった。

    デンジとレゼが祭りに言っている時は幸せそうな音楽なのに、戦闘が近づくにつれて不協和音が混ざっていく様子が、く、くる。。。という雰囲気がした。

    祭り以外にも、戦闘中の曲にマキシマム・ザ・ホルモンの刃渡り二億センチがとてもマッチしていたのを覚えている。

    戦闘シーンの派手さは強烈だった。

    爆弾の悪魔だけあって、爆発のエフェクトや音、鮫の魔人が頑張って移動する様子が映像化されていて、より漫画を読むのが楽しめるようになったのが良かった。

    鮫の魔人の移動の仕方が気持ち悪かったなあ。

    この先の話もきっと映像化されるだあろうし、楽しみだ。

    movie Created Tue, 07 Oct 2025 00:00:00 +0900
  • スライド作りや論文のための図のために使用するフリー素材のサイトをまとめておく。

    論文で使うサイト

    • ソコスト

      最近よく使っている。

      EPSで画像がダウンロードできる、かつ、画像の一部を好きな色にできるのがお気に入りポイント。

    • Icon-mono

      白黒のシンプルなイラストがある。最近使ってない。

    スライドで使うサイト

    圧倒的便利さ。画像を眺めるだけで楽しい。

    memo Created Tue, 30 Sep 2025 00:00:00 +0900