タグ

2023年5月8日のブックマーク (4件)

  • SVMを使った類似 embeddings 検索 - kNN ではない類似検索の選択肢 - A Day in the Life

    LangChain v0.0.141 に SVM Retriever という実装が入った。これは embeddings(集合)から、単一 embedding と類似しているもの top-K を SVM を使って見つけるという実装で、えっどうやってるの?と追っかけてみたら、知らない知識で面白かったのでメモ記事に。 kNN vs SVM この実装の元となった、knn_vs_svm.ipynbというnotebookがあって、冒頭を機械翻訳すると以下となる。 よくあるワークフローは、あるデータを埋め込みに基づいてインデックス化し、新しいクエリの埋め込みがあれば、k-Nearest Neighbor検索で最も類似した例を検索することです。例えば、大規模な論文コレクションをその抄録に基づいて埋め込み、興味のある新しい論文を与えると、その論文に最も類似した論文を検索することが想像できます。 私の経験では

    Gln
    Gln 2023/05/08
  • キッチンシンクを皿用スポンジで洗うのが汚いという感情の成立と国鉄型特急の不便な手洗い場の関係について

    来客がキッチンシンクを皿用スポンジで洗いやがった、清潔観念がおかしいもう絶縁だとか、旦那がそれやりやがった、もう離婚考えているとか、シンクをスポンジで洗う事で発生するトラブルは多い。 これは畢竟、ケガレの観念の問題だ。シンクは下(シモ)の範疇になっているのである。 実は日人のこのシンク=シモの感覚というのは20~30年前に定着したもので結構新しい。それまではシンクは上(カミ)の範疇であり、1990~2000年頃はこれらが混じり合った状態だった。また、調理の現場ではまだシンク=カミだ。 ところで古い国鉄時代の特急などでレバーやボタンを放すと即座に水が止まってしまって手が洗えない洗面台に困惑した事はないだろうか? 実はこの二つは密接な関係があるのである。ちょいと説明する。 シンクは水を溜めて使うものだったシンクというのは元の意は「溜め」だ。水を溜めて使うのがシンク。これとは別に「流し」もあっ

    キッチンシンクを皿用スポンジで洗うのが汚いという感情の成立と国鉄型特急の不便な手洗い場の関係について
    Gln
    Gln 2023/05/08
  • Mojo 🔥

    先日プログラミング言語 Mojo と呼ばれるもののアナウンスメントがあった。この言語のデザインが私のスイートスポットに刺さる感じだったので、今のうちから注目している。使いたいなというか、将来使うことになりそうな言語なので簡単に何ができそうかを調査してまとめておきたい。 ウリとしては「C 並のパフォーマンスが出る Python」といったところだろうか。 k0kubun さんからコメントを裏でもらって、これって要するに並列化とか SIMD 化とか入れたら35,000倍のパフォーマンスが出るようだけど、これは Python の部分とは呼べなくて、素の Python 動かして当にそういえるかは怪しくない?とのことで、判断保留します 🙇🏻‍♀️ k0kubun さんありがとう 言語のデザインとしては、AI 開発に向けたプログラミングを提供できるよう設計されていると感じる。表側は Python

    Mojo 🔥
    Gln
    Gln 2023/05/08
  • Pythonコードを35000倍に高速化したい

    はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです。 この記事は: Pythonで書かれたアルゴリズムを35000倍に高速化する 事前コンパイル、並列化、SIMD演算を駆使する 最終的に44000倍まで高速化できた なぜ35000倍? 2023年5月2日にModular社よりPythonの使いやすさとC言語の性能を兼ね備える新しいプログラミング言語、Mojoの開発について発表がありました。低レベルのハードウェア向けにコンパイル可能なこと、文法的にはPythonを踏襲しており、既存のPythonライブラリを利用可能であること

    Pythonコードを35000倍に高速化したい
    Gln
    Gln 2023/05/08