Tatsuya Shirakawa

機械学習、レコメンド、情報抽出、自然言語処理、画像処理、数理最適化、データ分析、データ…

Tatsuya Shirakawa

機械学習、レコメンド、情報抽出、自然言語処理、画像処理、数理最適化、データ分析、データ基盤…などのテクノロジーの周辺に住んでいます。データが巡って体験に還元されるようなストーリーを未来志向で妄想するのが好きです。

最近の記事

poetry --directory で参照する pyproject.toml と poetry.lock を切り替える

パッケージ管理に poetry を使っているのですが、機械学習などをしていると、GPUやCPU、時には Apple Silicon(M1, M2, M3 Macなど)ごとにインストールするパッケージやパッケージのビルドを切り替えたりする必要がしばしば発生します。 これまで下記のようなかなりアドホックな pyproject.toml を書いて対応していたのですが、そろそろ限界を感じはじめていました。 # 引用元: https://github.com/python-poet

    • μTransfer: 小規模モデルでのハイパラ探索を大規模モデルに転移し学習を効率化する

      最近、友人から大規模モデルの学習を劇的に効率化しそうな下記の事実(μTransfer)を教えてもらい、こんなことが成り立つことに非常に驚くとともに、それを知らなかったことにちょっとしたショックを受けました。 ここで出てくる μP(Maximal Update Parametrization)というのは、 Tensor Programs (TP)というフレームワークにおいて理論的に導出されたパラメータ付け(パラメータのスケーリングなど)の方法です。 TP は、 Neural

      • 2023年個人まとめ -- nouu 創業3ヶ月目

        こんにちは、合同会社 nouu の代表をしている白川です。 今年の 10 月に合同会社 nouu を立ち上げ、3 ヶ月弱ほど経ちました。年納めも兼ね、創業周辺でやったことや感じたこと、これからやってみたことをまとめてみたいと思います。会社としてというより個人としての観点が多めです(とはいえ一人社長なのでほぼ会社 = 個人ですが)。 自分は何者かこれまで 15 年弱くらい、機械学習・数理最適化・アルゴリズム・自然言語処理・画像処理・データ分析・データ基盤構築などのデータ周辺の

        • LLM の chat_template に気をつけろ!

          nouu の白川です。 毎週のように新しいより高精度な LLM が出てきてキャッチアップするのも大変ですね。量子化された小さなモデルなら Google Colab などでチャチャッと試すのは意外と簡単なのですが、公式が提供しているサンプルからはみ出た事をしようとすると罠にハマることがあります。 その一つが chat_template です。chat_template は instruction / chat モデルを使うときの入力フォーマットを定義した文字列です。 最近

        poetry --directory で参照する pyproject.toml と poetry.lock を切り替える

          日本語に対応した Embedding Model のベクトル検索での精度比較

          こんにちは、nouu の白川です。 OpenAI Dev Day、よいリリースがたくさんありましたね!GPT-4 Turbo が出てくれたお陰で、production利用がだいぶ捗りそうです。一方で、Text Embedding に関しては全くリリースはありませんでした。 自分は Text Embedding のモデルとしてちょっと昔は sonoisa/sentence-bert-base-ja-mean-tokens-v2 をよく使っていました。最近は環境を他の人と共有

          日本語に対応した Embedding Model のベクトル検索での精度比較

          経験と流動性がスタートアップを加速する

          nouu の白川です。いまは法人として、以前は個人事業主としてあるいは企業に所属しながら様々なお客様や友人・知人とご一緒して感じていたことを言語化してみました。私の出自的に、AI / データ領域での話を前提にしていますが、他の領域でも大きく違いはないのではと想像しています。 かけた時間に対して得られる品質向上は逓減するこんな図をよく見かけます。 かけた時間に対して得られる品質の向上は逓減していき、品質を 0 から 60 までもっていくのに必要な時間よりも 60 から 80

          経験と流動性がスタートアップを加速する

          合同会社 nouu を設立しました

          このたび、合同会社 nouu (ノウ)を設立しました。 nouu という名前は いま、即時性をあらわす now AI に象徴されるスマートさをあらわす脳(ノウ) 深い理解と知識をあらわす know お客様一人ひとりのことを深く知り、それを通じてお客様のビジネスを成長させていくという約束(know you) にもとづき命名しました。 これまでに学び・蓄積してきた AI / データ領域における知識や経験を社会に還元しつつ、スタートアップや新規事業の設立を行おうとして

          合同会社 nouu を設立しました

          Text Embedding と LSH を用いた高速商品バリアント判定

          こんにちは、カウシェで機械学習エンジニアをしている白川です。 先日、下記の記事でレコメンドの実装の裏側についてご紹介しました。 この記事の内容を人に説明する機会があって読み直していたら商品バリアント判定部分のアルゴリズムの説明が抜けている事に気づいたので、その部分を切り出してちょっとした Tips としてご紹介したいと思います。 商品バリアントって?同一商品の色違い・サイズ違い・柄違い・味違い…などを商品バリアントと呼びます。カウシェの扱う商品にも商品バリアントが無数にあ

          Text Embedding と LSH を用いた高速商品バリアント判定

          1 億ユーザー 1 億商品棚の実現に向けた、パーソナライズされた商品レコメンド機能の裏側(Part2 実装編)

          こんにちは、カウシェの AI チームの tatsuya(白川達也)です。 2022 年 11 月に入社してから検証・実装していた商品レコメンド機能がついにリリースされました(現状 iOS 版でのみ先行配信されています)。カウシェでは初めての機械学習を使った機能だったこともあり、リリースまでこぎつけるには超えないといけないハードルがいくつもあってそれなりに大変だったのですが、そのあたりの背景や経緯を踏まえ、実装の裏側を公開してみたいと思います。 本記事は「Part 2 実装

          1 億ユーザー 1 億商品棚の実現に向けた、パーソナライズされた商品レコメンド機能の裏側(Part2 実装編)

          1 億ユーザー 1 億商品棚の実現に向けた、パーソナライズされた商品レコメンド機能の裏側(Part 1 背景・経緯編)

          こんにちは、カウシェの AI チームの tatsuya(白川達也)です。 2022 年 11 月に入社してから検証・実装していた商品レコメンド機能がリリースされました(現状 iOS 版でのみ先行配信されています)。カウシェでは初めての機械学習にもとづく機能だったこともあり、リリースまでこぎつけるには超えないといけないハードルがあって時間がかかってしまったのですが、そのあたりの背景や経緯を踏まえ、実装の裏側を公開してみたいと思います。 本記事は「Part 1 背景・経緯編」

          1 億ユーザー 1 億商品棚の実現に向けた、パーソナライズされた商品レコメンド機能の裏側(Part 1 背景・経緯編)

          自己流 Vertex AI Pipelines 開発プラクティス

          こんにちは、カウシェで機械学習エンジニアをしている tatsuya (白川達也)です。最近まで取り組んでいたレコメンド機能の実装を通じて、Vertex AI Pipelines のカウシェにおけるプラクティスを自分なりに固めてみたので、公開してみたいと思います。 今回紹介するプラクティスのなかには実は Bad Practice なものもあるかもしれません。より良い方法をご存じの方は、直接教えていただいたり、Twitter などで共有・公開していただけるととても嬉しいです。こ

          自己流 Vertex AI Pipelines 開発プラクティス

          カウシェに AI チームをつくりました

          こんにちは、カウシェで ML Engineer をしている tatsuya(白川)です。 3月から AI チームという組織横断で ML/DS 的なことを行うチームを作り、Platform チームと AI チームを兼任しています。AI チームは現在自分ひとりです。 今回はなぜAI チームを作ったのか、そして AI チームは何をどう行っていくつもりなのかについて、考えをまとめてみたいと思います。 Team Topologies における機械学習チームカウシェでは Team

          カウシェに AI チームをつくりました

          大規模言語モデルをつかったベクター検索ベースの検索・回答できる仕組みを作ってみました

          こんにちは。カウシェで機械学習エンジニアをしている tatsuya(白川)です。 GPT-4、すごいですよね。このようなものが出てくるのは既定路線だったと思うのですが、想像より早くでてきた上に公開までされてしまい、驚きました。これからは大規模言語モデル(LLM)ありきで何ができるかを考える必要があるなぁと感じています。自分の仕事ももっと実現したい世界観・体験に寄せていけるような気がしており、これからが楽しみです。 ところで、カウシェではいま検索システムのフルリプレイスを検

          大規模言語モデルをつかったベクター検索ベースの検索・回答できる仕組みを作ってみました

          Poetry の Dependency Group を利用したモノレポ Python 環境

          こんにちは、カウシェで ML Engineer をしている白川です。 以前に一人目 ML Engineer としての入社エントリーを書かせていただいたのですが、実はアプリケーションで Python を使用する開発者としても一人目だったので、機械学習系の機能開発をしつつ Python 環境の設計・構築も行っています。開拓するのは楽しいです。 今回、Poetry の dependency group 機能を使うことでモノレポにおいて軽量でクリーンに動作する、なかなかよい開発環

          Poetry の Dependency Group を利用したモノレポ Python 環境

          Fivetran をつかった Shopify → BQ 連携と注意点

          ※2023年1月11日に配信したmediumの記事の転載です こんにちは!カウシェで ML Engineer をしている白川 達也(tatsuya)です。 機械学習をするために商品データを取得しようとしたら Shopify → スプシ → BigQuery という構成で商品情報が参照されており、この連携部分がとても不安定だったので、Fivetran を導入して安定化させてみました。その中で、Fivetran をつかった連携において注意したほうがいい点なども見えてきたので、

          Fivetran をつかった Shopify → BQ 連携と注意点

          二回目の一人目 ML Engineer になりました。

          こんにちは!先月半ばにカウシェに一人目の ML Engineer(機械学習エンジニア)として入社した白川 達也(tatsuya)です。 実はスタートアップに一人目 ML Engineer として入社するのは前職に引き続き二回目で、世の中的にも同じような経験した方はそんなにたくさんはいないのではないかと思ったので、一人目ないしはそれに近いタイミングで ML Engineer をやることの面白さを伝えてみようと思います。正直いつも試行錯誤しながらやってはいるのですが、学びつづけ

          二回目の一人目 ML Engineer になりました。