本文へ移動
_7S_0259

役割

インフラエンジニアの役割は、大規模なMLモデル学習を高速に回すための計算基盤を構築・運用し、MLエンジニアの実験イテレーション効率を最大化することです。

多額の投資が行われているGPUクラスタという高コストなインフラを、ビジネスとしてどう回収し、その技術的意義を証明するかという明確な目的のもと、インフラを最適化します。

オンプレミスと複数クラウドを組み合わせたハイブリッド環境において、データ転送の最適化やリソースの有効活用など、ハイパフォーマンスコンピューティング(HPC)に近い領域で、技術的に深いレイヤーでの問題解決を行うことが求められます。

業務内容

インフラ/GPUクラスタエンジニアの業務内容

  • 計算環境の物理設計や選定機器の設計
  • ネットワークの設計
  • ストレージシステムの効率化・高速化
  • クラスタリング技術の開発
  • クラウド環境上での計算環境の整備/運用

具体的な業務内容

大規模GPU計算環境を使って完全自動運転の実現に向けたマルチモーダル基盤モデル・世界モデルを開発する。そのためのインフラの構築・運用などを主な業務とします。機械学習エンジニアにとって扱いやすい計算環境を構築してください。同時に、クラウド環境も積極的に活用しており、AWS/Azure/GCP上での計算環境も運用します。

今後、チューリングでは数年先を見据えた計算基盤の選定・設計・構築をしていく必要があります。来年末には次の世代の計算環境を作っていく予定です。2~3年周期でGPUクラスターを構築していくため、事業計画や投資計画などのビジネス/財務メンバーとコミュニケーションも実施していただきます。

インフラエンジニアとして働くメリット

目的が明確に定まったアプリケーションのためのインフラ開発に取り組める点です。一般的なインフラ開発では、多種多様なアプリケーションの要求に応える必要がありますが、チューリングでは大規模なMLモデル学習という、極めて具体的かつ単一性の高い要求に対してインフラを最適化できます。

GPUクラスタという高コストなインフラへの多額の投資を、どのようにビジネスとして回収し、その技術的な意義を証明していくかという点が明確になっています。これにより、インフラとしてどのような要件に、どのように技術的に深く入って応えていくべきかという課題が明確になり、技術的な探求を深めることができます。

ハイパフォーマンスコンピューティング(HPC)に近い領域で、大規模なML学習を高速に回すためのインフラ基盤を構築・運用することは、非常に高い技術力が求められる一方で、限られたリソースを有効活用し、MLエンジニアの実験イテレーションを加速するという、事業への貢献度の高い成果を直接得られます。技術的に面白く、やりがいのある課題に集中的に取り組める環境です。

この職種にマッチする人材

本職種には、大規模な計算インフラの構築・運用に長けた人材がマッチします。特に、GPUクラスタなどハイパフォーマンスコンピューティング(HPC)環境の構築や最適化、運用に携わった経験を持つ方が理想的です。MLモデル学習の効率を最大化するために、ジョブスケジューリングの最適化、リソース管理、ネットワーク設計など、インフラの深いレイヤーでの問題解決能力が求められます。

また、オンプレミス環境だけでなく、複数のクラウド環境を組み合わせたハイブリッドなインフラ構成の構築・運用経験がある方も、データ転送の最適化といった課題に取り組む上で非常に有用です。

  • 大規模なGPUクラスタの構築・運用経験がある人
  • ハイパフォーマンスコンピューティング(HPC)環境での経験を持つ人
  • モデル学習の高速化を目的としたインフラ最適化に意欲のある人
  • ジョブスケジューリングやリソース管理の最適化に取り組める人
  • オンプレミスと複数クラウド環境を組み合わせたハイブリッドインフラの経験がある人
  • ネットワークやストレージなど、インフラの深いレイヤーでの問題解決が得意な人

他職種連携の魅力とやりがい

MLエンジニア

主にモデル学習の実行に関わる業務で連携します。具体的には、学習コード実行時に、ジョブが正しく回っているかの確認や、エラーが発生した場合の原因の特定と解決を共同で行います。また、モデル学習をいかに高速化するかというインフラ側の課題について、MLエンジニアの要求や学習コードの特性を踏まえた上で、技術的な議論を頻繁に行います。

大規模なML学習を高速に回すという、HPCの領域に近い技術的課題に取り組めます。MLエンジニアにとって、インフラの高速化は実験のイテレーションを早く回すという直接的なメリットに繋がり、その貢献を実感できます。

インフラの運営における高度な高速化や効率的なリソース利用に関する知見やスキルが磨かれる点は、技術者として大きな魅力です。

ソフトウェアエンジニア(MLOps/クラウドエンジニア)

大規模なデータパイプラインが動作する実行環境としてのクラウドやインフラの要件定義を行います。特に、データパイプラインがあるクラウド環境から、学習を行うオンプレミスや別のクラウド環境へデータを転送する際に、データ転送時間を削減し、データの整合性を保って適切に転送するための仕組みづくりを共同で実施します。

複数クラウドを跨いだ大規模な非構造化データの転送という、難易度の高い課題に挑戦できます。この課題を解決することは、自動運転開発全体のイテレーションを早く回すという事業的な貢献にも直結し、技術的な面白さと共に大きなやりがいを感じられます。

特殊な要件を満たすインフラを、MLOpsの要求と協調しながら構築できることは、他では得難い経験です。