Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rust を他の言語と同じように 活用して感じた採用効果
Search
hajime
March 11, 2024
Technology
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rust を他の言語と同じように 活用して感じた採用効果
hajime
March 11, 2024
Other Decks in Technology
See All in Technology
デジタル・デザイン構想 by Sayaka Ishizuka
y150saya
0
150
グローバルチームと挑むプロダクト開発
sansantech
PRO
1
110
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
330
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
160
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
140
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
260
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
2
1.2k
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
150
Foundry Toolkit + Lemonade Serverでローカルワークフロー開発
seosoft
0
110
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
220
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
310
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
Featured
See All Featured
From π to Pie charts
rasagy
0
220
A Tale of Four Properties
chriscoyier
163
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Are puppies a ranking factor?
jonoalderson
1
3.7k
WENDY [Excerpt]
tessaabrams
11
38k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
550
Automating Front-end Workflow
addyosmani
1370
210k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
750
Navigating Weather and Climate Data
rabernat
0
260
Transcript
ROSCAFE Rust を学ぶ会 Rust を他の⾔語と同じように 活⽤して感じた採⽤効果 2024.02.07 hajime watanabe
もくじ Rust の活⽤事例 2 : 採⽤⾯での良さ 3 : 会社紹介 4
: 終わりに 5 : Copyright © LabBase,Inc. All Rights Reserved. ⾃⼰紹介 1 :
渡辺 創 ⼤学院で⾃然⾔語処理を研究後、⼤⼿通信会社にてAIコンサルタン トを経験。事業会社で事業を深く理解しながら機械学習やデータを 活⽤した価値を創りたいという思いからLabBaseに⼊社。⼊社後 は、新規開発やLabBaseの機能開発を経験。現在リサーチチームの リーダーとして、機械学習やLLMを活⽤した機能のプロトタイプ作 成や検証を⾏っています。 株式会社LabBase Researchチーム
リーダー https://github.com/HHajimeW ⾃⼰紹介 Copyright © LabBase,Inc. All Rights Reserved.
話すこと‧離さないこと Copyright © LabBase,Inc. All Rights Reserved. • 弊チームでの Rust
使い⽅の具体例 • 採⽤のメインにRustを掲げて、感じた効果 話すこと • Rustならではの開発における⾔語的なメリット 話さないこと
Research チームとは Copyright © LabBase,Inc. All Rights Reserved.
Research チームのミッション Copyright © LabBase,Inc. All Rights Reserved. • 検索キーワードの推薦
• 募集の⾃動⽣成 • RAGを使った社内の問い合わせ • マーケティングの部分的な⾃動化 最新技術を利用したプロトタイプ開発。 直近は費やす時間に対してインパクトが大きそうな GPTをつかった機能に注力。
Copyright © LabBase,Inc. All Rights Reserved. Rust の活⽤事例
サービス紹介 Copyright © LabBase,Inc. All Rights Reserved. 学⽣が⾃らの研究情報を登録 企業の⽅が検索し、学⽣をスカウト 研究が忙しい学⽣が時間を節約しながら、
専⾨性を⽣かして就職活動ができるように。
検索例と学⽣情報 Copyright © LabBase,Inc. All Rights Reserved.
検索に使う技術的なキーワードは表記がゆれやすい。 学生側と企業側でキーワードの選択が異なる。 今回、着⽬した課題 Copyright © LabBase,Inc. All Rights Reserved. AND検索
や OR検索に も不向きがある。 検索クエリ:機械学習 or ⾃然⾔語処理 機械学習 NLP 深層学習 ⾃然⾔語処理
ベクトル検索で曖昧な検索を行う。 解決策 Copyright © LabBase,Inc. All Rights Reserved. 検索クエリをベクトル化
学生のキーワード列をベクトル化 機械学習 ⾃然⾔語処理 [1.5, ... , 0.4] [0.8, ... , -0.2] 機械学習 分⼦化学 NLP 深層学習 [0.7, ... , 0.1] [-0.3, ... , 1.2] ユークリッド距離で ランキング
主なユーザが人事のかたであるということもあり、 どこがヒットしたのかわかりにくいという声がある。 新たな課題 Copyright © LabBase,Inc. All Rights Reserved. AND検索
や OR検索 ベクトル検索 検索クエリ:機械学習 or ⾃然⾔語処理 機械学習 ⾃然⾔語処理 NLP 深層学習 解決策として、 学生のキーワード列をまとめてベクトル検索した後、 個々のキーワードとの距離を計算し、近い順に並べる。
データベース Copyright © LabBase,Inc. All Rights Reserved. keyword_id keyword_text embedding
student_id student_name keyword_list_embedding student_id keyword_id keywords students student_keyword_relations NLP 深層学習 1 1 2 1 1 1 2 NLP 深層学習 [0.9, …, -0.2] [-0.3, …, 1.2] 山田花子 [0.6, …, -0.7] NLP 深層学習 [0.9, …, -0.2] [-0.3, …, 1.2] [0.6, …, -0.7] NLP 深層学習 keywords の embedding カラム students の keyword_list_embedding カラム
処理フロー Copyright © LabBase,Inc. All Rights Reserved. 事前準備 • 各種データを
csv からデータベースにデータを⼊れる。 • OpenAI の Embeddingを使って、 ◦ keywords の embedding を取得し保存。(この時、pgvectorというPostgreSQLの拡張機能を使う) ◦ students の keyword_list_embedding を取得し保存。(この時、pgvectorというPostgreSQLの拡張機能を使う) 検索の実施 クエリ:機械学習 [0.1, …, -0.8] keyword_list_embedding を検索し、 ベクトルの距離が近い学⽣ Top n を取得 画像認識 学⽣の順序は変えずに個別の キーワードを検索クエリに 近い順に並べ替え 分⼦化学 バイオ 構造解析 BERT 遺伝⼦⼯学 DNA ⾃動運転 物体検出 画像処理 ⼈⼯知能 AI ⾳声認識 深層学習 機械学習 機械学習 構造解析 バイオ 分⼦化学 BERT 遺伝⼦⼯学 DNA 画像処理 物体検出 ⾃動運転 ⼈⼯知能 ⾳声認識 AI 深層学習 画像認識
実装のポイント(https://github.com/HHajimeW/pgvector) Copyright © LabBase,Inc. All Rights Reserved. CREATE OR REPLACE
FUNCTION get_similar_student_list( query_vector vector(1536) ) RETURNS SETOF type_student_list_output AS $FUNCTION$ DECLARE hit_keywords type_hit_keyword[]; begin RETURN QUERY SELECT stu.student_id, stu.student_name, ARRAY_AGG( ROW( key.keyword_id, key.keyword_text, key.embedding <-> query_vector )::type_hit_keyword ) AS hit_keywords FROM students stu LEFT JOIN student_keywords_relations skr ON stu.student_id = skr.student_id LEFT JOIN keywords key ON skr.keyword_id = key.keyword_id GROUP BY stu.student_id ORDER BY stu.keyword_list_embedding <-> query_vector limit 10; END; $FUNCTION$ LANGUAGE plpgsql; ストアドプロシージャでかいてvector を渡せば、 ⼀発で返ってくるものをかけて、Rust の Struct で受け取れる。 [{ student_id: 1, student_name: ⼭⽥花⼦, keyword_list: [ { keyword_id: 1, keyword_text: "NLP", distance: 0.1 }, { keyword_id: 2, keyword_text: "深層学習", distance: 0.8 }, ] }, …, {...} ] ユニークビジョンさん の CTO の方のブログ参考にしました https://qiita.com/aoyagikouhei/items/9e52ae732d0f795f4dfc
実装のデータ Copyright © LabBase,Inc. All Rights Reserved.
リサーチチームでの活用の仕方に 他の言語と大きく違いがあるわけではない。 Rustの活⽤の仕⽅ Copyright © LabBase,Inc. All Rights Reserved. •
今回のような実験のコード • プロトタイプのWebアプリケーション ▪ Axum とか、SQLx とか ▪ React ✖ Rust
Copyright © LabBase,Inc. All Rights Reserved. 開発⾯以外の良さ 実際に導入して感じた
Rust のよく聞く特徴 Copyright © LabBase,Inc. All Rights Reserved. • メモリ安全性
• ⾼パフォーマンス • スレッド安全性 • リッチな型システム • エラー処理が分かりやすい メリット デメリット • ⽇本語のドキュメントが少ない • ライブラリなどが未成熟 • 低レイヤの意識が必要 • 学習コストが⾼い
最近、⼊社する⼈の特徴 Copyright © LabBase,Inc. All Rights Reserved. Rustが好きな⼈ 低レイヤーへの 興味が強い
プロダクトで Rustを使いたい⼈ クレート読む プログラムをかくのが好き
Copyright © LabBase,Inc. All Rights Reserved.
考えられる因果 Copyright © LabBase,Inc. All Rights Reserved. ⼤変なこともあるけど、 プロダクトでRustを使いたい Rust
のデメリット 好奇⼼ 深く理解 する 意識せず 挑戦 学習コスト 気にしない つくるのが 好き Rust のメリット
Copyright © LabBase,Inc. All Rights Reserved. 採⽤において、Rust 使⽤を掲げたら 弊社の⽬指すカルチャーにマッチした⼈が ⼊社した
CTOはもしかしたら、また違う感覚をもっているかもしれない 是⾮カジュアル⾯談してみてください
None
25 Copyright © LabBase,Inc. All Rights Reserved. 研究を頑張る理系学⽣と企業をつなぐスカウト サービス「LabBase就職」、研究開発者‧技術 者と企業をつなぐスカウトサービス
「LabBase転職」、研究室とあなたをつなぐ 研究室検索サービス「LabBase研究室サーチ」 などを運営中。 The Research Empowerment Platform 株式会社LabBaseは、 【研究の⼒を、⼈類の⼒に。】という パーパスを掲げ、研究エンパワープラット フォームの創造を⽬指しています。
終わりに Copyright © LabBase,Inc. All Rights Reserved. では ⼀緒に働く仲間を募集しています カジュアル⾯談してみませんか?