まず、オープンソースのデータセット『Laion-5B』を用いました。このデータセットにはインターネット上から収集した数十億件の画像とテキストが繋がっています。私はこれらのデータをパケット形式でダウンロードし、AmazonのストレージサービスS3に保存しました。その後、その画像自体をダウンロードしました。その結果、S3にはきれいにデータが保存されました。
次に、SageMakerでのトレーニングジョブのために、自分のS3パスから新たに『FSx for Lustre』という高速ファイルシステムを作成しました。これにより、ダウンロード時間が90分以上かかるはずのデータを60秒以下に短縮することができました。この時点でデータ量は約9.5TBになっていました。
更に、全てのデータを索引化するためのjson lineを構築し、192のGPUで分散トレーニングを行いました。1エポック(全データを一度通した状態)を通過するのに15分、全体的なジョブは約60分で完了しました。その結果を見ると、GPUの最適化にはまだ大きな可能性があると感じました。これらすべてを通じて、我々はAI開発の技術を進化させることが出来ます。
出典 : https://medium.com/@emilywebber/how-i-trained-10tb-for-stable-diffusion-on-sagemaker-39dcea49ce32