ときどき起きる

だいたい寝ている

Berlin Buzzwords 2024 & MICES 2024 参戦記

本記事はデータ・検索システムのインダストリアルなカンファレンスとして有名なBerlin Buzzwordsとそれに付随して開催されたMICESに参加してきた体験記です。

bbuzz会場

面白かったセッション

Learning to Rank for Reddit Search - A Project Retro

Redditのエンジニア、かつ AI Powered Search の著者である Doug Turnbull、および同じくRedditのエンジニアである Charles Njoroge による、LtRに関するセッションでした。

www.youtube.com

Redditのrelevance順にソートされた検索結果で利用されている検索システムについての内容で、その内Lexical Searchによって取得された結果のリランクに用いられているLtRの構成、特徴量選別手法、プロダクション環境に出した際に直面したパフォーマンス課題と回避方法などかなり詳細に知見が共有されています。

翌日に開催された MICES 2024 の Planning of e-commerce search relevance work でも同様のトピックについてもう少し細かく発表されており、こちらも合わせてチェックするとより詳細なイメージがつかめるかと思います。なお、プレゼン中に利用されていたColab Notebookについては後日公開予定とのことでした。

Hybrid Search with Apache Solr Reciprocal Rank Fusion

近々Solrへの取り込む事を目標に開発されている、Reciprocal Rank Fusion(RRF)機能の実装及びその背景にある思想に関して、開発者であるAlessandro Benedettiが発表するセッションでした。

www.youtube.com

同様の機能はOpenSearch、Elasticsearch等の他Luceneベースのオープンソース検索エンジンでも実装されており、それがSolrにも登場するとなると利用を検討される方は多いのではないでしょうか。アプリケーション側で実装するのと比較してもページネーションや検索エンジンへのリクエスト回数、統合された検索結果に対する集約結果の取得など、かなり得られるメリットが多い変更となりそうです。 他の検索エンジンの実装と比較した際の特徴として処理が実際行われるフェーズの違いが挙げられており、多くの場合はコーディネーティングノードで行われていますが、Solrでは各Segment毎に結果を計算・返却するような実装に現時点ではなっているとのことでした。ただしこのあたり含めて分散性の部分などはまだ議論中の部分も多々あるようで、フィードバックは歓迎しているそうです。

Rediscover your keyword search: Expand, Enrich and Rewrite

AWSのソリューションエンジニアによる、キーワード検索をSemantic Search的なアプローチで改善していこう、という内容のセッションでした。前半後半でトピックが大きく分かれており、前半はNeural Sparse Searchを用いたキーワード拡張の実装、後半はLLMを用いたクエリ解釈についてが紹介されています。

www.youtube.com

前半のNeural Sparse Search部分ではSPLADE及びOpenSearchによって公開されている類似のモデルを用いたキーワードの拡張の話題で、インデキシング時の拡張、検索時の拡張それぞれの利点、精度ベンチマークの紹介、及び実際にダミーデータを用いたデモが行われていました。

後半のLLMを用いたクエリ解釈セッションではプロンプト例、検索エンジンに発行するクエリへの変換プロセスの紹介、同じダミーデータを用いたデモが行われました。文章以外にもメタデータを多く含む対象を検索するシーンでの現実的なLLMの適用例がデモも交えて紹介されているのはとても感動的で、更にそのコードも公開されているとのことで太っ腹が過ぎますね。

github.com

Lessons learned writing 10+ Kubernetes Operators

複数のOSSソリューションを組み合わせたDatalakeプラットフォームを開発している会社による、Kubernetes Operator開発周りの現状、およびKubernetes周辺ツール一般に関するセッションです。

www.youtube.com

この企業自体かなり多くのOSSソリューションを利用しているとのことですが、その実装やインターフェースにあまり一貫性がなく、その辺りの辛さを解消するために多くのオペレータを実装した際のノウハウが共有されていました。個人的に検索周りで頭がいっぱいになってしまっていたのでリフレッシュも兼ねて参加したセッションでしたが、特にKubernetes周りで利用できるツール群に関しては知らないものも多く出てきたのでまた見返したいセッションです。

Search in the Cloud: separation of compute and storage

Lucene/SolrのコミッタであるIlan Ginzburgによる、Solrのストレージをクラウドストレージに分離する取り組みに関するセッションでした。

www.youtube.com

issues.apache.org

セッションの内容としてはマルチノード構成のSolrに置けるレプリカのスケーリング課題をクラウドストレージによって解決しようとする取り組みに関するもので、リーダーノードのデータ書き込み先をローカルのディスクでなくS3等のクラウドストレージに、レプリカノードのデータ元も同じく変更しようとするものでした。 OpenSearchやElasticsearchでも似たような思想の変更が行われており、書き込み時のノード間の直接的なデータやり取りを減らす方向に動くのはクラウドストレージの信頼性・利便性が高まった今必然的な流れなのかなと感じました。

発表者はSaleseforceの所属で既にこのパッチが当てられたバージョンがプロダクションで安定的に動いているとのことで、今後いつ取り込まれることになるかウォッチしたいところです。

Barcamp

カンファレンスのBarcamp自体始めて参加しましたが、とても面白い取り組みでした。特にトピックが決まっていない飛び入りカンファレンスのような形のイベントで、CfPで選考に漏れた内容や話題の提供 + 議論をするようなセッション、逆にこれが聞きたいので話せる人が居たら話してほしいといったリクエストなどより参加者のニーズに近しい内容の議論が交わされていました。 またもう一つ興味深かった点として参加者層があり、カンファレンスの前日、オプショナル的なイベントであるため熱量の高いエンジニアを中心に集まっているようなイベントな印象でした。おそらくその場に居た半数以上のエンジニアは今回もしくは過去にbbuzzで登壇しているような方々で、人数が少ないためネットワーキングも積極的に行われていて非常に興味深かったです。

MICES2024

電車の都合上途中で切り上げることになってしまったのですが、MICESにも参加してきました。 こちらはより検索に特化したカンファレンスとなっており、エンジニアだけでなくPMやデザイナーなどより幅広い層の方が参加されていました。

とはいえ自分が参加した範囲では内容はかなり検索エンジニアリング寄りで、LtRの特徴量エンジニアリングの話、Algoliaでサポートされた類似画像ベースの推薦機能の話、フードデリバリーサービスでのSemantic Searchの話など、より具体的な内容が話されていた印象です。

オフラインで参加した感想

勉強会自体はオンラインでの参加オプションもあり、更に待てるのであれば全て録画がYouTubeで公開される形式となっています。そんな中今回自費での参加となりましたが、個人的にはアリだなといった感想です。

何と言ってもイギリス・ヨーロッパを中心とした熱量の高い検索エンジニアとディスカッション・ネットワーク構築できる機会はとても貴重でしたし、日本のエンジニアコミュニティと比較して年齢層も幅広くベテラン層が厚いことも今後キャリアを形成するうえでのよいインプットとなりました。また検索に関するカンファレンスが思っていた以上に多数存在するらしく、今回参加したMICESもそうですがHaystackなど、これまで観測の範囲になかった検索カンファレンスについて知ることが出来たのも大きなプラスでした。 haystackconf.com 特にHaysatackはタイトルを見ているだけでもかなり検索に特化したカンファレンスであることがわかりますし、録画も公開されていそうなのでまた改めてチェック予定です。

一方、日本で日本語で発信されている情報の偏りについて指摘されたのも今回大きな収穫でした。日系企業の海外支社で働いていた方や他数名に指摘されたのですが、技術コミュニティが国内で完結してしまっており外向きに情報が出てこない、利用したくても公式ドキュメント以外に参考になる情報が見つけられない、などなどどうも外から見ていても良くわからない状態になっているようです。一方で著名なOSSやテック企業が出てきていることからも技術力自体は認められているようで、是非英語でも積極的に情報発信や登壇をしてほしいとの声を聞きました。 検索分野に関してはあちらのエンジニアから日本の学生エンジニアに対する働きかけも検討が進んでいるらしく、今後のコミュニティ同士の関わり方に期待です。

おまけ: 現地参加の予算感

以下、ざっくりとした費用です。

項目 費用(ユーロ) 費用(円) 備考
チケット代 € 690 110,000円 早期割引
交通費 - 150,000円 ANA 羽田 <-> フランクフルト <-> ベルリン ANAスーパーセール価格
宿泊費 € 700 110,000円 6泊7日
総額 - 360,000円 食費、細かな交通費除く

十分お高いですが行けないこともない範囲内なので、妻稟議を通す必要はありますが数年に一度ならありかなぁ