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
AWSを活用した機械翻訳のためのGPU並列処理環境の構築/aso
Search
Stockmark
June 16, 2021
0
1.2k
AWSを活用した機械翻訳のためのGPU並列処理環境の構築/aso
Stockmark
June 16, 2021
Tweet
Share
More Decks by Stockmark
See All by Stockmark
LLM開発・活用の舞台裏@2024.04.25
stockmark
0
220
ストックマークデザイナー採用LT/ Stockmark desginer recruiting LT
stockmark
0
210
ストックマークテックミートアップ#8 / Stockmark Tech MeetUp#8
stockmark
0
120
Stockmark Designer Recruiting Pitch
stockmark
1
1.1k
210629 Stockmark Tech Meetup #1 AWSを活用したCPU/GPU環境の並列化
stockmark
0
600
Stockmark_Recruiting Guidebook
stockmark
3
130k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Visualization
eitanlees
146
15k
Become a Pro
speakerdeck
PRO
26
5.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Code Review Best Practice
trishagee
65
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Why Our Code Smells
bkeepers
PRO
335
57k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Transcript
AWSを活用した機械翻訳のための GPU並列処理環境の構築 ストックマーク株式会社 バックエンドエンジニア 麻生 晋併 2021/06/16
ストックマークのプロダクト:「Anews」 • 国内外30,000メディアの記事を毎日収集 • 最先端の自然言語処理で個人や組織のミッションに即した記事をレコメンド
レコメンドの課題:英語記事の配信精度の向上 • ユーザーの過去記事へのアクションから当日配信する記事を選定 • 英語記事は読まれない → 精度が上がらない → 読まれないまま... 読むのが大変なので
精度が高くないなら 読みたくない。
解決策:日本語記事の行動履歴の活用
翻訳のためのインフラ見直し(現状:EC2インスタンス1台) POINT1:翻訳用のGPU並列処理環境の追加 • 翻訳はGPU環境を複数用意して並列処理しないと処理時間がかかりすぎる POINT2:既存処理環境(CPU環境)と翻訳処理環境(GPU環境)の分離 • GPU不要の既存処理をGPU環境で実行するとコストがかかりすぎる POINT3:ワークフローエンジンの導入 • サーバを跨いだワークフローの管理が必要
インフラ選定結果 翻訳処理環境(GPU環境):AWS Batch + Amazon EC2 • GPUを利用可能、かつ、配列ジョブで並列処理を実装しやすいことからを採用 • 並列数を記事数に応じて変えるため、事前に
Lambda で必要な並列数を算出 既存処理環境(CPU環境):Amazon ECS + AWS Fargate • EC2は他サービスと連携しづらいため既存処理環境も差し替え • 既に一部タスクを ECS + Fargate で実行できる状態にしていたので他タスクへ拡張 ワークフローエンジン:AWS Step Functions • AWSサービスとの連携しやすさ+社内での利用実績から採用
インフラ構成ビフォーアフター
ストックマークのテックブログで もう少し詳しく解説しています https://tech.stockmark.co.jp/blog/gpu_translate/
インフラ再構築のポイント Infrastructure as Code (IaC) • コードで書いてある通りにインフラの追加・削除・変更が可能 → 開発環境で試行錯誤しやすい、本番環境反映時の負担軽減とミス防止 •
コードが設計書としても機能する → 引き継ぎしやすい CI/CD • GitHub で特定のタグを付与すると CodeBuild で自動デプロイ用のワークフローが実行され る(CPU/GPU環境別のイメージのbuild&push、ECSとBatchの定義更新) → 開発環境/本番環境へのデプロイ時の負担軽減とミス防止
【6月29日(火)19:30開催!】 Stockmark Tech Meetup #1 テックブログで語られなかった試行錯誤の数々を公開! https://stockmark.connpass.com/event/216396/