「機械学習システム設計ガイド」は、このNVIDIAガールの人気プロジェクトです

「機械学習システム設計ガイド」は、このNVIDIAガールの人気プロジェクトです

今年 8 月、スタンフォード大学を卒業し、現在 NVIDIA の人工知能アプリケーション チームに勤務する若い女性が、Twitter で上位 10 の高品質な無料機械学習コース リソースをリストし、それらをまとめて効率的な学習ルートを作成しました。このコース リソースは現在 8,000 件を超える「いいね!」を獲得しています。最近、彼女は読者に新たなメリットをもたらしました。今回はディープラーニング システムの設計チュートリアルです。
機械学習モデルをサービスや AI 機能を提供できるシステムに変換することは、最近注目を集めているトピックです。 Chip Huyen のディープラーニング システム設計チュートリアルは、8,000 語の記事で、幅広い注目を集めています。同社の Twitter アカウントには現在 5,000 件の「いいね!」があり、GitHub プロジェクトには 1 日で 1,000 件を超えるスターが付けられています。

チュートリアルのアドレス: https://github.com/chiphuyen/machine-learning-systems-design/blob/master/build/build1/consolidated.pdf

プロジェクトアドレス: https://github.com/chiphuyen/machine-learning-systems-design

理論から実践まで、8,000語のチュートリアルでMLシステム設計を説明します

チュートリアルは、導入、機械学習システムの設計、ケース指導、演習の 4 つの部分で構成されています。ケース指導と演習の部分には、それぞれ、実稼働環境における典型的なケース 10 件と、面接で遭遇する可能性のある質問 27 件が含まれています。

この本は主に方法論に基づいており、システムを構築するために必要な手順について読者が考えるのに役立つ対応するガイドラインを提供することに重点を置いています。

導入

最初の部分では、著者らは機械学習の研究と実稼働の主な違いを紹介しています。これらの違いは、パフォーマンス要件とコンピューティング要件という 2 つの側面に反映されます。

パフォーマンス要件に関しては、機械学習の研究者にとって、SOTA がすべてです。さまざまな複雑なテクノロジとその組み合わせを使用して 1% のパフォーマンス向上を追求しますが、この向上は実稼働環境には適用できない可能性があり、過度の複雑さのためにより多くのコンピューティング リソースを消費することになります。

コンピューティング要件の点では、現在普及している大規模モデルには高価なコンピューティング リソースが必要であるため、これらのモデルを本番環境に適用する場合、コミュニティはモデル圧縮や事前トレーニングなどのテクノロジを探求して、モデルをより小さく、より高速にする必要があります。運用中の開発者は、常に運用を念頭に置いて機械学習システムを設計する必要があります。

機械学習システムを設計するための4つのステップ

2 番目の部分は、機械学習システムの設計方法という、この本の中心的な内容です。著者は、この設計プロセスを、プロジェクトのセットアップ、データ パイプライン、モデリング (モデルの選択、トレーニング、デバッグ)、およびサービング (モデルのテスト、展開、保守) の 4 つのステップに分割しています。

著者らが提案するディープラーニングシステム構築プロセス。

プロジェクト設定は、プロジェクトを評価および設計する段階です。このセクションの目的は、ディープラーニングが解決する必要がある実際的な問題 (製品の重要性)、パフォーマンスの制限、プロジェクトの制限、評価方法、およびパーソナライゼーションを定義することです。プロジェクトの目標と実装方法を明確に定義することによってのみ、構築されたシステムが要件を満たし、実際の問題を解決できることを保証できます。

データはディープラーニングに最も欠かせない要素です。研究分野のほとんどのモデルには十分でバランスの取れたクリーンなデータセットがありますが、実稼働環境では必ずしもそうとは限りません。そのため、システム設計においては、信頼性が高く、十分な量のデータをどのように取得するかなど、データの問題も考慮する必要があります。同時に、プライバシー保護、データセキュリティ、データストレージ、データバランスなどの問題に対処し、実現可能なソリューションを提供する必要があります。

モデリング プロセスには、モデルの選択、トレーニング、デバッグ、評価という複数のステップが必要です。その中でも、ランダムベンチマーク、ヒューマンベンチマーク、ヒューリスティックベンチマークなど、モデルを選択する際には最も適切なベンチマークを見つけることを考慮する必要があります。使用するモデルは単純なものから複雑なものまで様々で、トレーニングプロセスは少量のデータから開始する必要があります。うまくいけば、モデルのサイズを拡大し、データバッチ入力のサイズを増やし、パラメータを調整する必要があります。モデルの推論パフォーマンスが低い場合は、データの問題なのか、仮定やモデル/データの適合が間違っているのか、ハイパーパラメータの選択が間違っているのかなどを検討する必要があります。

サービスフェーズでは、デザイナーは、受け取った入力に基づいてモデルが適切な結果を提供する方法、ユーザーがこれらの結果を受け取る方法、既存のモデルをより良く改善するためにフィードバックを取得する方法を検討する必要があります。同時に、モデルは静的ではなく、継続的なトレーニングが必要です。既存のデータからトレーニングして精度を高めることは、新しいラベルを使用してモデルをトレーニングすることとは異なります。前者は既存のモデルでトレーニングするだけで済みますが、後者は最初からトレーニングする必要があります。

10の典型的なケース

理論的な「机上の話」を避けるため、本書の第 3 部では、読者が理論を理解して実践を学べるよう、著者は 10 件のケース スタディを提供しています。

これらの事例を読んで、実稼働環境でのさまざまな展開要件と制約を克服する方法を学習してください。 Airbnb、Lyft、Uber、Netflix など、多くの企業が機械学習を使用して自社の製品や生産プロセスを改善した経験についてブログに投稿しています。インタビューが必要な友人は、これらのブログを頻繁に閲覧できます。このチュートリアルでは、次のような主な内容を紹介します。

1. 機械学習を使用して、Airbnb 上の住宅の価値を予測します。

リンク: https://medium.com/airbnb-engineering/using-machine-learning-to-predict-value-of-homes-on-airbnb-9272d3d4739d

2. 機械学習を使用して Netflix のストリーミング品質を向上します。

リンク: https://medium.com/netflix-techblog/using-machine-learning-to-improve-streaming-quality-at-netflix-9651263ef09f

3. Booking.com の 150 の成功した機械学習モデル: そこから学んだ 6 つの教訓。

リンク: https://blog.acolyer.org/2019/10/07/150-successful-machine-learning-models/

4. Chicisimo は、女性ユーザーがゼロから 400 万人にまで成長したファッション アプリです。

垂直機械学習アプローチでファッションアプリのユーザー数を 0 から 400 万人に増やした方法

5. 機械学習を使用して Airbnb の検索エクスペリエンスを向上させる。

リンク: https://medium.com/airbnb-engineering/machine-learning-powered-search-ranking-of-airbnb-experiences-110b4b1a0789

6. Lyft の不正防止機械学習システム。

リンク: https://eng.lyft.com/from-shallow-to-deep-learning-in-fraud-9dafcbcef743

7. Instacart 配送サービスにおけるルート最適化。

リンク: https://tech.instacart.com/space-time-and-groceries-a315925acf3a

8. Uber のビッグデータ プラットフォーム: 100 ペタバイト以上、分単位のレイテンシ。

リンク: https://eng.uber.com/uber-big-data-platform/

9. コンピューター ビジョンとディープラーニングを活用して、最新の OCR パイプラインを作成します。

リンク: https://blogs.dropbox.com/tech/2017/04/creating-a-modern-ocr-pipeline-using-computer-vision-and-deep-learning/

10. Uber の Michelangelo 機械学習プラットフォームを使用して機械学習を拡張します。

リンク: https://eng.uber.com/scaling-michelangelo/

27の練習

最後に、27 個の練習問題があります。演習の答えは、『機械学習インタビュー』という本に記載されています。

回答を投稿したい学生は、https://github.com/chiphuyen/machine-learning-systems-design/tree/master/answers にアクセスしてください。

さらに、著者は、ここで述べられている問題のいくつかは曖昧であるという事実に注意を喚起しています。面接中にこのような質問を受けた場合は、面接官に問題を明確に説明し、範囲を絞り込むように指導する必要があります。

<<:  ビッグデータ、クラウドコンピューティング、人工知能が統合され、セキュリティ分野に応用されている

>>:  人工知能と5G: 新たなデータの世界へ

ブログ    
ブログ    
ブログ    

推薦する

再サンプリングからデータ合成まで: 機械学習における不均衡な分類問題にどのように対処するか?

機械学習とデータサイエンスを少しでも勉強したことがあるなら、クラス分布の不均衡に遭遇したことがあるは...

JS を使用して複数の画像類似性アルゴリズムを実装する

検索分野では、Google画像検索、Baidu画像検索、Taobaoの商品写真検索など、「類似画像・...

サイバーセキュリティを変える、最もホットなハッカーツール:武器化された人工知能FraudGPT

FraudGPT の「成功」は、生成 AI の武器化とハッキング技術の民主化という危険な時代の到来...

Minecraft でニューラル ネットワークを構築し、操作プロセスを明確に表示する | オープン ソース

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

1行のコードで大規模モデルのパフォーマンスが10%向上、開発者は無料でランチを楽しめる

大規模なモデルを微調整するための「無料ランチ」ができました。たった 1 行のコードで、パフォーマンス...

AI の力: Docker による機械学習アプリケーションの導入とスケーラビリティの簡素化

翻訳者 |李睿レビュー | Chonglou近年、機械学習の応用が爆発的に増加しており、堅牢でスケー...

流行後、生体認証はどこに向かうのでしょうか? 焦点は「手」に移るのでしょうか、それとも「頭」に移るのでしょうか?

庚子年の初めに、突然の疫病が中国全土に広がり、人々は突然「2003年を夢見ている」ような気分になった...

...

GNNに大量のデータを与えると重力の法則が発見される

機械学習 (ML) は、大規模なデータセット内の特徴を学習し、さまざまなオブジェクトを分類し、パラメ...

食べられる「論理ゲート」:科学者たちはデザートを「ミニコンピューター」に変えた

過去 10 年間で、食品業界では 3D プリント食品、食用センサー、ロボット調理、AR ダイニングな...

...

...

清華大学とハルビン工業大学は大規模なモデルを 1 ビットに圧縮し、携帯電話で大規模なモデルを実行するという夢が実現しつつあります。

ビッグモデルが普及して以来、ビッグモデルを圧縮したいという人々の欲求は減ることはありません。大規模モ...

AI論文が急増、10万件以上の引用を誇るResNetの登場は良いことなのか悪いことなのか?この研究は、

[[442368]] 1週間前、コンピュータービジョン分野の古典であるHe Kaiming氏のRe...