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
株式会社サイバーエージェント 新卒エンジニア研修 最終成果発表資料
Search
Ren
May 26, 2024
Business
2.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
株式会社サイバーエージェント 新卒エンジニア研修 最終成果発表資料
Ren
May 26, 2024
More Decks by Ren
See All by Ren
CyberAgent AWS Game Day 2025 LT
ren510dev
0
800
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
2
1.3k
Study on Methods for Achieving Service Extensibility in Secure Overlay Network Systems
ren510dev
1
1.9k
Proposal of an extended CYPHONIC adapter supporting general nodes using virtual IPv6 addresses
ren510dev
0
1.9k
Implementation and Evaluation of CYPHONIC client focusing on Sequencing mechanisms and Concurrency for packet processing
ren510dev
0
2.1k
同時実行性及びパケット順序処理に着目した CYPHONIC クライアントの実装と評価
ren510dev
0
2k
オーバーレイネットワークにおける一般ノードをサポートする CYPHONIC アダプタの研究
ren510dev
0
2.4k
仮想 IPv4 アドレスを想定した CYPHONIC アダプタの設計と基礎評価
ren510dev
0
2.1k
Research on Symmetric NAT Traversal in P2P applications
ren510dev
0
3.3k
Other Decks in Business
See All in Business
Copilot×ローカルLLM ― 出せないデータをどう活かすか
aonomasahiro
1
280
AI導入で変わる PdMとエンジニアの関係性
paulxl
0
250
インターセクト会社説明資料
intersect
0
310
楽しかった仕事の理由を深掘りしてみた
suzakiyoshito
0
130
情報を集める時間を チームを進める時間へ-Backlog AIアシスタントで変わった時間の使い方-
yasuhirox
0
350
メンバーズ会社紹介資料/Members company brochure
members_recruiting
0
37k
CC採用候補者向けピッチ資料
crosscommunication
2
59k
DMM.com コーポレートブック
dmm
2
490k
Nishika_採用ピッチ資料
nishika_kae
0
120
株式会社SAFELY 会社紹介 / Company
safely_pr
1
7.1k
CEOの価値観を言語化することでメンバーの心を動かすマネジメントを体得するワークショップ
nagam3618
0
170
Global Vascular株式会社_会社紹介資料
globalvascular
0
310
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
210
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
We Are The Robots
honzajavorek
0
240
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
190
RailsConf 2023
tenderlove
30
1.5k
The Spectacular Lies of Maps
axbom
PRO
1
790
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
A Soul's Torment
seathinner
6
2.9k
Transcript
最終成果発表 BeauBelle
2 1. サービス紹介 2. 使用技術 3. まとめ BeauBelle
3 サービス紹介 1 BeauBelle
「「「どんな人がタイプ??」」」 優しい人...?? 〇〇みたいな人 (伝わってるかな...🤔) 笑顔が似合う...??
あなたの、本当の理想ってどんな人...?
コンセプト Service concept 6
コンセプト Service concept 7
コンセプト Service concept 8
コンセプト Service concept 9
コンセプト Service concept 10
コンセプト Service concept 11
コンセプト Service concept 12
コンセプト Service concept 13
コンセプト Service concept 14 AIで生成 した 美女 の画像を シェアする新たな SNS
BeauBelle
実装機能 Implementation function 15 Point 1 AIで美女を生成→シェア Point 2 現れる美女を評価
(いいね/スーパーライク)
実装機能 Implementation function 16 いいね スーパーライク 自分のタイプ/理想が 詰まった一覧
17 使用技術 / ツール 工夫した点 2 BeauBelle
WEB フロント
使用技術 Frontend 19 • 使用技術:Next.js 14 • データ取得:SWR • バリデーション:zod
• UI:shadcn Storybook • 認証: NextAuth
バックエンド
使用技術 /ツール Backend 21 • 言語:Ruby on Rails • DB:MySQL
8.0 ( Aurora ) • 非同期処理:Active Job • マイグレーション:Active Record • AWS S3:EKS IRSA を利用した署名付きURL
ML
違反画像の自動検知機能 Automatic detection of violating images 23 AI機能 投稿画像に対して、 掲載基準に満たない不適切な画像を自動
検知し、違反画像の投稿を抑制 掲載基準とは ✅ - コンセプト面(人の画像かどうか) - 倫理面(エロ / グロ / etc...) 画像を投稿
AIの活用 AI utilization function 24 掲載基準に満たない不適切な画像を 自動検知するシステム 🔍 投稿された画像に対して、ML側で投稿内容が 規約違反かどうかを推定するリアルタイム推 論を実装予定
掲載基準とは ✅ - コンセプト面(人の画像かどうか) - 倫理面(エロ / グロ / etc...) 投稿 🎵 安心安全な投稿機能
AIの活用 AI utilization function 25 投稿 🎵 安心安全な投稿機能 掲載基準に満たない不適切な画像を 自動検知するシステム 🔍
投稿された画像に対して、ML側で投稿内容が 規約違反かどうかを推定するリアルタイム推 論を実装予定 掲載基準とは ✅ - コンセプト面(人の画像かどうか) - 倫理面(エロ / グロ / etc...)
AIの活用 AI utilization function 26 掲載基準に満たない不適切な画像を 自動検知するシステム 🔍 投稿された画像に対して、ML側で投稿内容が 規約違反かどうかを推定するリアルタイム推 論を実装予定
掲載基準とは ✅ - コンセプト面(人の画像かどうか) - 倫理面(エロ / グロ / etc...) 投稿 🎵 安心安全な投稿機能 確認中
27 AIの活用 & 検知技術 AI utilization function & Detection technology
第1フィルター 第2フィルター 第3フィルター # コンセプト 人か判定 # コンセプト 女性か判定 # 倫理 不適切判定 違反をブロック
28 AIの活用 & 検知技術 AI utilization function & Detection technology
第1フィルター 第2フィルター 第3フィルター # コンセプト 人か判定 # コンセプト 女性か判定 # 倫理 不適切判定 違反をブロック
29 AIの活用 & 検知技術 AI utilization function & Detection technology
第1フィルター 第2フィルター 第3フィルター # コンセプト 人か判定 # コンセプト 女性か判定 # 倫理 不適切判定 違反をブロック
AIの活用 AI utilization function 30 掲載基準に満たない不適切な画像を 自動検知するシステム 🔍 投稿された画像に対して、ML側で投稿内容が 規約違反かどうかを推定するリアルタイム推 論を実装予定
掲載基準とは ✅ - コンセプト面(人の画像かどうか) - 倫理面(エロ / グロ / etc...) 投稿 🎵 安心安全な投稿機能 確認中 不適切
画像データ フロント MLサイド 推論エンドポイント バックエンド Amazon S3 投稿画像格納 AWS Lambda
Amazon SageMaker イベントトリガー Lambda 起動 Instances 推論管理 S3のオブジェクトのパス 推論結果 推論結果 受け取り確認 Model v1 Instances 学習管理 Model v2 蓄積された通報画像データ Train 学習インスタンス 推論 学習 Amazon ECR Amazon ECR 31 AI機能 & ML運用 AI function & MLOps 全体フロー
32 AI機能 & ML運用 AI function & MLOps ④ 画像データ
フロント MLサイド 推論エンドポイント バックエンド Amazon S3 ① 投稿画像格納 AWS Lambda Amazon SageMaker ③ イベントトリガー Lambda 起動 Instances 推論管理 ② S3のオブジェクトのパス ⑤ 推論結果 ⑥ 推論結果 ⑦ 受け取り確認 Model v1 Instances 学習管理 Model v2 蓄積された通報画像データ Train 学習インスタンス 推論 学習 Amazon ECR Amazon ECR 推論フロー
33 AI機能 & ML運用 AI function & MLOps 画像データ フロント
MLサイド 推論エンドポイント バックエンド Amazon S3 投稿画像格納 Amazon SageMaker イベントトリガー Lambda 起動 Instances S3のオブジェクトのパス 推論結果 推論結果 受け取り確認 Model v1 Instances ① 推論 インスタンスの起動 Model v2 ② 蓄積された通報画像データ Train ③ 再学習 推論 学習 Amazon ECR Amazon ECR Model v2 AWS Lambda 推論管理 ④ モデルのアップロード 再学習フロー
34 運用構成 3 BeauBelle
設計思想・技術選定 Concepts of design and Technology selection 35 DevOps ✅
サービス成長を視野に入れた エコシステム ✅ デプロイの 属人化を防止 したインフラ設計 Developer Safety ✅ GitHub を SSOT に コード一元性 を確保 ✅ 最小権限の原則遵守 と 責務境界の明確化 Availability ✅ マルチ AZ 構成で トラフィック分散 ✅ リクエストパターンに応じた スケール戦略 Kubernetes をベースに エコシステムを構築
36 アーキテクチャ Architecture design ①② 可用性 • 3 AZ で負荷分散
• ASG と HPA による 水平オートスケーリング ③ セキュリティ • プライベートサブネットに ノードプールを配置 • ML Platform との繋ぎ込みに NAT Gateway を使用 ① ② ③ 36
運用基盤 BeauBelle Ops 37 👉 ML 基盤の統合 👉 GitOps の整備
👉 Telemetry の整備 Kubernetes エコシステムの成長 37
運用基盤 BeauBelle Ops 38 Kubernetes を ベースとした エコシステム 38 サービスの成長を
視野に入れた インフラ設計 継続的な 開発∞運用 を目指した DevOps の枠組みについて
開発の足を止めないための仕組み作り Establishing Systems to Maintain Continuous Development 迅速なデプロイの実現 と 属人化の防止
• GitHub を使って "ボタン一つ" で "誰でも" デプロイ可能 • サービス開発者は変更差分を即座に本番環境に反映可能 リリースブランチを選択して これを ポチッ とする 定義したワークフローに基づいて CI を順次実行 (全部緑色になっていればデプロイ完了) 39
開発の足を止めないための仕組み作り Establishing Systems to Maintain Continuous Development 40 40 WEB
UI によるリソース可視化と管理 • デプロイタスクは ArgoCD が管理することで GitOps 化 • WEB ブラウザから リソースの状態確認やログ調査が可能 WEB からデプロイリソース(Pod)の 操作(ログ調査等)が可能 デプロイステータス
BeauBelle デプロイの裏側 Behind the scenes of BeauBelle operations 41 41
1. GitHub Workflows を実行 2. コンテナイメージのビルドとプッシュ 3. マニフェストのイメージタグ を更新 4. ArgoCD が K8s マニフェストの 変更差分を検知して kube API を実行
BeauBelle デプロイの裏側 Behind the scenes of BeauBelle operations 42 42
1. GitHub Workflows を実行 2. コンテナイメージのビルドとプッシュ 3. マニフェストのイメージタグ を更新 4. ArgoCD が K8s マニフェストの 変更差分を検知して kube API を実行
BeauBelle デプロイの裏側 Behind the scenes of BeauBelle operations 43 43
1. GitHub Workflows を実行 2. コンテナイメージのビルドとプッシュ 3. マニフェストのイメージタグ を更新 4. ArgoCD が K8s マニフェストの 変更差分を検知して kube API を実行
BeauBelle デプロイの裏側 Behind the scenes of BeauBelle operations 44 44
1. GitHub Workflows を実行 2. コンテナイメージのビルドとプッシュ 3. マニフェストのイメージタグ を更新 4. ArgoCD が K8s マニフェストの 変更差分を検知して kube API を実行
45 まとめ・振り返り 3 BeauBelle
チーム目標 Team vision and goal 46 46 “ シナジーを活かして一歩先へ ”
各領域の専門性 を結びつけ 機能要件を超越して 技術の優位性 を確立せよ!
47 47 振り返り Team vision and goal 各領域の専門性 / 技術の優位性
• メンバー各々の得意領域・技術をプロダクトに全面的に活かす! • 選定・実装した技術は責任を持ち最後まで管理する! 開発の振り返り・チーム全体の所感 • プロダクトに組み込むだけでなくメンバーへの技術浸透まで実施 • デプロイ完遂とともにバグの改善にはチーム全員がコミット
48 https://beaubelle.tech07.ca24.ca-developers.io BeauBelle 使ってみてね👋
インフラ側キャパシティ確保済み Itsudemo access shitene 49 49 Grafana によるモニタリング HPA によるマルチ
AZ スケーリング
FIN.