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
ラッコ株式会社 Linear本導入説明会
mayahoney
0
510
ITが何の略なのかも知らないままエンジニアになっちゃったのでインターネットに生き恥を晒してみた話
m_k__77
1
270
Smart Share Recruiting Deck
smartshare
0
510
三井物産グループのデジタル証券~イオン大宮~徹底解説セミナー
c0rp_mdm
PRO
0
1.7k
M3 Career Culture Deck(セールス&コンサルティング職)
m3c
2
320k
会社紹介資料
sbs5780
0
230
jpax-introduction
jpax
0
1.1k
AIを意識した経営・執行の設計と実行
kan
4
4.1k
dotcue採用ピッチ2606.pdf
dotcue
0
120
紹介パートナー様向け 紹介手数料プランとご登録手順のご案内(マルコポーロ)
kimete
0
300
エージェントスキルによる最適化
mickey_kubo
2
170
株式会社アシスト_会社紹介資料
ashisuto_career
3
180k
Featured
See All Featured
Design in an AI World
tapps
1
240
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
700
We Have a Design System, Now What?
morganepeng
55
8.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Done Done
chrislema
186
16k
A Soul's Torment
seathinner
6
2.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
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.