成功する機械学習チームを構築するための 4 つのステップ

成功する機械学習チームを構築するための 4 つのステップ

導入

企業にとって、機械学習チームを 0 から 1 まで構築する方法は、多くの企業にとって非常に頭の痛い問題です。この記事ではいくつかの提案を示しており、求職者にとっても参考になります。

[[315741]]

機械学習はここ数年で飛躍的に成長しました。しかし、機械学習は専門分野である一方、機械学習チームを管理する技術はまだ歴史が浅い。今日の機械学習マネージャーの多くは、必要に迫られて、あるいは最も優れた個人貢献者であるという理由で管理職に就かざるを得ず、純粋に学術的なバックグラウンドを持つ人も多くいます。一部の企業では、エンジニアや製品オーナーが、実際の機械学習の経験がないまま、新しい機械学習機能を構築する任務を負っています。

技術チームの管理は困難です。

  • 良い人材を雇わなければなりません。
  • それらを管理し、開発する必要があります。
  • チームの成果を管理し、全員が同じ方向に進んでいることを確認する必要があります。
  • 長期的に適切な技術的選択を行い、技術的負債を管理する必要があります。
  • リーダーシップからの期待も管理する必要があります。

機械学習チームの管理はさらに困難です。

  • 機械学習の才能は高価であり、不足しています。
  • 機械学習グループにはさまざまな役割があります。
  • 機械学習プロジェクトのタイムラインは不明確であり、不確実性が高い。
  • 機械学習は「技術的負債に対する高利のクレジットカード」でもあります。
  • リーダーは機械学習を理解していないことがよくあります。

私は最近、カリフォルニア大学バークレー校の「フルスタック ディープラーニング ブートキャンプ」に参加しました。これは、フルスタックのプロダクション ディープラーニングを教える素晴らしいコースです。 Josh Tobin の講演では、機械学習チーム向けのベストプラクティスが紹介されています。ジョシュの講演の一環として、この記事では、マネージャーであれば機械学習チームの構築と管理についてどのように考えるべきかについての洞察を提供します。また、求職者であれば、この記事が機械学習分野での仕事を得るのにも役立つかもしれません。

ステップ1: 役割を定義する

最も一般的な機械学習の役割と、それに必要なスキルを見てみましょう。

  1. 機械学習プロダクトマネージャーは、機械学習チームと連携して、他のビジネス部門やエンドユーザーに機能を提供します。この担当者は、ドキュメントを設計し、ワイヤーフレームを作成し、機械学習プロジェクトの優先順位付けと実行の計画を策定します。
  2. DevOps エンジニアは、運用システムの導入と監視を担当します。この担当者は、導入された機械学習製品のインフラストラクチャを実行する責任を負います。
  3. データ エンジニアとは、データ パイプラインを構築し、データ ストアからデータを集約して収集し、データの動作を監視する人です。この人は Hadoop、Kafka、Airflow などの分散システムを使用します。
  4. 機械学習エンジニアとは、予測モデルをトレーニングして展開する人です。この人は、TensorFlow や Docker などのツールを使用して、実際のデータで実行される本番環境の予測システムに取り組んでいます。
  5. 機械学習の研究者は、予測モデルをトレーニングする人ですが、通常は将来を見据えた方法、または生産に重要ではない方法でトレーニングします。この人は、TensorFlow、PyTorch、Jupiter を使用して、実験を説明するモデルとレポートを構築します。
  6. データ サイエンティストは、実際には上記の役割すべてを説明するために使用される包括的な用語です。一部の企業では、この役割では実際に分析を通じてビジネス上の質問に答えることが求められます。

では、これらの役割にはどのようなスキルが求められるのでしょうか? 上のグラフは、横軸が機械学習の専門知識のレベル、円の大きさがコミュニケーションとテクニカルライティングのレベル (大きいほど良い) を表しており、非常にわかりやすい図になっています。

  1. 機械学習 DevOps は主にソフトウェア エンジニアリングの役割であり、通常は標準のソフトウェア エンジニアリング パイプラインから流れます。
  2. データエンジニアは、機械学習チームと積極的に連携するソフトウェアエンジニアリングチームに所属しています。
  3. 機械学習エンジニアには、機械学習とソフトウェア エンジニアリングのスキルを組み合わせた珍しいスキルが必要です。この人は独学でエンジニアになった人、または大学院卒業後に従来のソフトウェア エンジニアとして働いた科学/工学の博士号を持つ人です。
  4. 機械学習研究者は、通常、コンピューターサイエンスまたは統計学の修士号または博士号を取得しているか、産業フェローシップ プログラムを修了している機械学習の専門家です。
  5. 機械学習プロダクトマネージャーは従来のプロダクトマネージャーと似ていますが、機械学習の開発プロセスと考え方を深く理解しています。
  6. データ サイエンティストの役割には、学部生から博士課程の学生まで幅広いバックグラウンドが含まれます。

ステップ2: チームを作る

機械学習チームを構成する正しい方法についてはコンセンサスがありませんが、さまざまな企業のアーキタイプと機械学習の成熟度レベルに基づいて異なるベストプラクティスがいくつかあります。まず、さまざまな機械学習企業の典型を見てみましょう。

アーキタイプ 1: スタートアップとプロフェッショナルの機械学習

  • これらの企業では誰も機械学習を行っていなかったか、機械学習はアドホックに行われていました。どうやら、社内に機械学習の専門知識がほとんどなかったようです。
  • これらは、教育や物流など、テクノロジーの含有量が低い業界の中小企業または大企業です。
  • 機械学習は多くの場合、簡単に成果が得られる成果をもたらします。
  • しかし、機械学習プロジェクトはほとんどサポートを受けられず、優秀な人材の雇用と維持が困難になっています。

プロトタイプ2:機械学習の研究開発

  • これらの企業における機械学習の取り組みは、企業の研究開発部門に集中しており、論文発表経験のある機械学習の研究者や博士課程の学生を採用するケースが多いです。
  • これらは石油・ガス、製造、通信などの分野の大企業です。
  • 経験豊富な研究者を雇用し、長期的なビジネスの優先事項に取り組むことで、大きな成果を達成することができます。
  • しかし、高品質なデータを入手するのは難しく、通常、そのような研究努力が実際のビジネス価値につながることはほとんどないため、投資額は少額になるのが普通です。

アーキタイプ 3: 製品に組み込まれた機械学習

  • これらの企業では、特定の製品チームまたは事業部門が、ソフトウェアや分析の才能に加えて、機械学習の専門知識を持っています。これらの機械学習担当者は、チームのエンジニアリング/技術リーダーに報告します。
  • これらの企業はソフトウェア会社または金融サービス会社のいずれかです。
  • 機械学習の改善はビジネス価値をもたらす可能性があり、アイデアの反復と製品の改善の間には緊密なフィードバック サイクルが存在します。
  • 残念ながら、優秀な人材の採用と育成は依然として困難であり、データやコンピューティング リソースへのアクセスが遅れる可能性があります。また、機械学習プロジェクト サイクルとエンジニアリング管理の間には潜在的な矛盾があるため、長期的な機械学習プロジェクトを正当化することが難しい場合があります。

アーキタイプ4: 独立した機械学習部門

  • これらは、機械学習部門が上級管理職に直接報告する企業です。機械学習プロダクトマネージャーは、研究者やエンジニアと協力して、顧客向け製品に機械学習を組み込みます。時には長期的な研究を発表することもあります。
  • これらの企業は通常、大規模な金融サービス企業です。
  • 才能の密度が高いため、トップクラスの実務家を雇用し、訓練することができます。上級リーダーはデータとコンピューティング リソースを統括できます。これにより、企業は機械学習開発のツール、プラクティス、文化に投資できるようになります。
  • 欠点は、ユーザーが機械学習の利点を理解し、モデルの使用方法について教育を受ける必要があるため、異なる事業部門にモデルを引き渡すのが困難になる可能性があることです。さらに、フィードバック サイクルが遅くなる可能性もあります。

アーキタイプ5: 機械学習を優先

  • これらの企業では、CEO が機械学習に投資しており、業界全体に迅速な成果に重点を置く専門家がいます。機械学習部門は、挑戦的で長期的なプロジェクトに取り組んでいます。
  • このグループには、大手テクノロジー企業と機械学習に特化したスタートアップ企業が含まれます。
  • 彼らは、データへのアクセスが最も優れており(データ思考が会社に浸透しています)、採用パイプラインが最も魅力的であり(機械学習の問題に挑戦すると、優秀な人材が集まる傾向があります)、展開プロセスが最も簡単です(製品チームが機械学習を十分に理解しています)。
  • このタイプの企業原型は、機械学習の考え方をあらゆる場所に組み込むことが文化的に難しいため、実際に実装するのが困難です。

あなたの会社が上記の原型とどの程度似ているかに応じて、適切な設計を選択できます。これは、おおよそ次の 3 つのカテゴリに分けられます。

  • ソフトウェア エンジニアと研究者: 機械学習チームはソフトウェアの構築や統合にどの程度責任を負っていますか? チームにとってソフトウェア エンジニアリングのスキルはどの程度重要ですか?
  • データの所有権: 機械学習チームは、データの収集、保管、ラベル付け、パイプラインをどの程度制御できますか?
  • モデルの所有権: 機械学習チームはモデルを本番環境にデプロイする責任がありますか? デプロイされたモデルを誰が保守しますか?

ここにいくつかのデザインの提案があります…

あなたの会社が機械学習の研究開発に注力している場合:

  • 研究はソフトウェア エンジニアリング スキルよりも確実に優先されます。したがって、2 つのグループ間の連携が不足している可能性があります。
  • 機械学習チームはデータを制御できず、通常、それをサポートするデータ エンジニアもいません。
  • 機械学習モデルが実稼働環境で使用されることはほとんどありません。

すでに自社の製品に機械学習を組み込んでいる場合:

  • ソフトウェアエンジニアリングのスキルは、研究スキルよりも優先されます。通常、研究者は誰もが独自のモデルを作成する必要があるため、強力なエンジニアリング スキルが必要です。
  • 機械学習チームは通常、独自のデータ生成とデータ管理を行っていません。データ パイプラインを構築するには、データ エンジニアと協力する必要があります。
  • 機械学習エンジニアは、本番環境にデプロイするモデルを完全に所有します。

独立した機械学習部門がある場合:

  • 各グループは優れたエンジニアリングおよび研究スキルを備えているため、チームで緊密に連携して作業を行います。
  • 機械学習チームはデータガバナンスの議論に発言権を持ち、強力なデータエンジニアリング機能を備えています。
  • 機械学習グループはユーザーのモデルに干渉することはありませんが、モデルを維持する責任は負います。

あなたの会社が機械学習を優先している場合:

  • チームによって研究指向は異なりますが、一般的には研究チームはエンジニアリング チームと緊密に連携して作業します。
  • 多くの場合、機械学習チームは企業全体のデータ インフラストラクチャを所有しています。
  • 機械学習チームはモデルをユーザーに引き渡し、ユーザーがそれを操作および保守します。

以下の画像はこれらの推奨事項をわかりやすくまとめたものです。

3. プロジェクトを管理する

機械学習プロジェクトの管理は非常に困難です。

  • Lukas Biewald 氏の記事によると、1 つのドメイン内でもパフォーマンスは大きく異なる可能性があります。
  • 機械学習は非線形です。プロジェクトが数週間以上停滞することはよくあります。初期段階では、何がうまくいくかが不明であるため、プロジェクトを計画することは困難です。したがって、機械学習プロジェクトのタイムラインを見積もることは非常に困難です。
  • 研究とエンジニアリングの間には、価値観、背景、目標、規範の違いにより文化的な違いがあります。相容れない文化では、両者は互いを尊重しない傾向があります。
  • 多くの場合、リーダーシップはこのことを理解していません。

では、機械学習チームをより適切に管理するにはどうすればよいでしょうか? 秘訣は、機械学習プロジェクトを確率的に計画することです。

基本的には、これから始めます:

到着

他にも素晴らしいアイデアがいくつかあります:

  • さまざまなアプローチを試してみる必要があります。
  • 進捗は結果ではなく入力に基づいて測定する必要があります。
  • 研究者とエンジニアが協力して取り組む必要があります。
  • 迅速な成果を示すには、エンドツーエンドのパイプラインをできるだけ早く接続する必要があります。
  • 機械学習のタイムラインの不確実性についてリーダーシップを教育する必要があります。

4. 採用

Element AI が発表した 2019 年グローバル AI 人材レポートによると、優秀な AI 人材が不足していることを示す強力な証拠があります。 AI研究の最前線では、約22,000人が積極的に論文を発表したり、学会で講演したりしています。そのうち、分野全体に大きな影響を与える研究に携わっているのはわずか 4,000 人程度です。合計で36,500人が人工知能の専門家であると主張した。比較すると、米国のソフトウェア開発者の数は 420 万人、世界では 2,640 万人です。

(1)機械学習の人材を見つけるには?

機械学習エンジニアを採用するための戦略をいくつか紹介します。

  • ソフトウェア エンジニアリングのスキルを持ち、機械学習に強い関心を持ち、学習意欲のある人材を採用します。次に、機械学習を行うようにトレーニングします。
  • 現在、ほとんどのコンピュータサイエンス学部の学生が機械学習の経験を持っていることを考慮して、初級レベルの職を探してください。
  • 何が必要かを明確にしてください。たとえば、すべての機械学習エンジニアが DevOps エンジニアである必要はありません。

機械学習研究者を採用するための戦略は次のとおりです。

  • 公開された記事の量ではなく質(創造性、実行の質など)に焦点を当てます。
  • 大きな問題を調査するビジョンを持つ研究者を求めています。多くの研究者は、重要性を考慮せずに、一般的な問題に焦点を当てています。
  • 学術界以外での経験を持つ研究者を探してください。
  • 数学、物理学、統計学など、隣接分野の人材の採用を検討してください。
  • 博士号を持たない人を雇うことを検討してください。たとえば、優秀な学部生や修士課程の学生、産業フェローシップ プログラム (Google、Facebook、OpenAI) の卒業生、さらには熱心な独学者などです。

これらの候補者はどうやって見つけたのですか?

  • LinkedIn、人材紹介会社を経由する、大学の就職フェアに参加するなど、標準的な情報源があります。
  • 機械学習研究者向けの権威ある機械学習研究カンファレンス (NeurIPS、ICLR、ICML) や、機械学習エンジニア向けの権威ある応用機械学習カンファレンス (O’Reilly、ReWork、TensorFlow World) に参加する必要があります。
  • ArXiv で印象的な研究論文をフォローし、第一著者に連絡することができます。

長期的な戦略としては、これらの候補者を引き付け、自社を目立たせる方法を検討する必要があります。

  • 機械学習の専門家は最先端のツールやテクニックを使いたいと考えているため、企業は研究に基づくプロジェクトに取り組み、それをブログで発表し、機械学習チーム用のツールとインフラストラクチャに投資する必要があります。
  • 機械学習の実践者は、刺激的な分野でスキルと知識を身に付けたいと考えているため、企業は学習を中心としたチーム文化を構築する必要があります (読書グループ、勉強会、専門能力開発予算、会議予算など)。
  • 機械学習の専門家は優秀な人材と働きたいと考えているため、企業は知名度の高い人材を採用するか、ブログや論文を公開して優秀な人材のプロフィール構築を支援する必要があります。
  • 機械学習の専門家は興味深いデータセットを扱いたいと考えているため、企業は採用資料でデータセットの独自性を伝える必要があります。
  • 機械学習の実践者は重要な仕事をしたいと考えているため、あなたの会社は自社のミッションと、そのミッションに対する機械学習の潜在的な影響を売り込む必要があります。さらに重要なのは、今日実際に影響を与えるプロジェクトに取り組むべきだということです。

(2)機械学習の候補者をどのように面接するか?

では、機械学習の面接では何を質問すればよいのでしょうか?

  • まず最初に、候補者の強みについての仮説を検証します。機械学習の研究者にとって、新しい機械学習の問題について創造的に考え、以前のプロジェクトについてどれだけよく考えてきたかを探求できるようにすることが重要です。機械学習エンジニアの場合、確かなエンジニアリングスキルを備えたジェネラリストであることを確認してください。
  • 2 つ目は、候補者が苦手な分野で最低基準を満たしていることを確認することです。機械学習の研究者の場合、エンジニアリングの知識と優れたコードを書く能力をテストします。機械学習エンジニアの場合、簡単な機械学習の知識をテストします。

機械学習の面接は、従来のソフトウェア エンジニアリングの面接よりもはるかに曖昧に定義されていますが、一般的な評価の種類は次のとおりです。

  • 背景と文化の一致
  • ホワイトボードプログラミング
  • ペアプログラミング/デバッグ(多くの場合、機械学習特有のコード)
  • 数学の問題
  • 主なプロジェクト
  • 応用機械学習(例:機械学習を使用して問題を解決する方法の説明)
  • これまでのプロジェクト(方法論、試行錯誤、結果)
  • 機械学習理論(例:バイアスと分散のトレードオフ、過剰適合と不足適合、特定のアルゴリズムなど)

(3)機械学習の仕事を見つけるには?

この記事を読んでいるあなたが機械学習の候補者だと仮定しましょう。 「機械学習の仕事を見つけるにはどうしたらいいですか?」と疑問に思うかもしれません。

  • 繰り返しになりますが、LinkedIn、リクルーター、キャンパスリクルーティングなどの標準的なリソースがあります。
  • 機械学習の研究会議に出席し、そこで人々と話すことができます。
  • 会社のポータルから直接応募することもできます (ここでは人材不足があることを忘れないでください)。

仕事を見つけるのは確かに簡単ではありませんが、目立つ方法はいくつかあります。

  • 一般的なソフトウェア エンジニアリング スキルを構築します (CS コースや職務経験を通じて)。
  • 機械学習への関心を実証する(カンファレンスへの参加や MOOC の受講など)。
  • 機械学習に関する幅広い知識があることを示します(例:研究分野をまとめたブログ記事を書く)。
  • 機械学習プロジェクトを完了する能力を実証します(例:小規模プロジェクトの作成や論文の複製)。
  • 機械学習について創造的に考えることができることを実証します(例:Kaggle コンテストで優勝する、論文を発表するなど)。

面接の準備として、次のことを行う必要があります。

  • オンライン リソースを使用して、一般的なソフトウェア エンジニアリングの面接を練習します。
  • トレードオフや決定など、過去のプロジェクトについて詳しく話せるように準備しておいてください。
  • 機械学習の理論と基本的な機械学習アルゴリズムを復習します。
  • 面接を受ける企業が直面している可能性のある問題を解決するために、機械学習をどのように活用できるかについて創造的に考えてみましょう。

また、機械学習の面接プロセスの両側面からの重要な学習内容が記載されている、Chip Huyen のブートキャンプ スライドもチェックすることをお勧めします。記事の最後にダウンロードリンクがあります。

要約する

ほとんどの従来型企業にとって、機械学習は新しく進化を続ける分野であり、機械学習チームの構築には既知と未知の両方の課題が伴います。最後まで読み飛ばした方のために、最後にいくつかのポイントを記します。

  • 生産機械学習にはさまざまなスキルが関わってくるため、多くの人に貢献できる機会があります。
  • 機械学習グループはより独立し、学際的になりました。
  • 機械学習チームの管理は困難です。特効薬はありませんが、確率的な計画に目を向けると役立つかもしれません。
  • 機械学習の才能は不足しています。マネージャーとして、機械学習の職務記述書でどのようなスキルが求められるかを明確にしてください。求職者にとって、部外者として市場に参入するのは非常に困難な場合があります。そのため、プロジェクトを認知度を高めるためのシグナルとして活用してください。

この投稿が、機械学習チームを効果的に構築するための有用な情報を提供できたことを願っています。今後のブログ投稿では、フルスタックディープラーニングブートキャンプで学んだことについてさらに詳しくお伝えしますので、お楽しみに!

<<:  Googleは社内でAIを使ったコンピュータチップの開発を試みていることを明らかに

>>:  RPAを成功させる方法

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

パロアルトネットワークス:AIを使ってAIと戦うことは、ネットワークセキュリティ技術の発展における避けられないトレンドです

「 AI攻撃を阻止するために人力を使うことはできません。AIと戦うにはAIを使わなければなりません。...

AIテスト:自動運転車のテストに関するケーススタディ

編集者注:最近、清華大学自動化学部システム工学研究所の李立准教授を筆頭著者として、林一倫、鄭南寧、王...

人工知能の時代、栄智連は新しいメディアが新しいエコシステムを構築するのを支援します

[51CTO.com からのオリジナル記事] 今日、メディア業界はデジタル技術の影響を受けて新たな旅...

LiDARとTexas Instrumentsチップを搭載した最新のL3自動運転アーキテクチャの分析

画像出典: インターネット来年発売されるヒュンダイG90とGV80は、ヒュンダイのL3自動運転モデル...

ソフトウェア開発は最終的に時代遅れになるのでしょうか?

[[283217]] [51CTO.com クイック翻訳] 著名なベンチャーキャピタリスト、マーク...

6 つの大きな障害に直面していますが、AI イノベーションはそれらをうまく克服できるでしょうか?

現状では、人工知能業界は消費者からの需要が大きく、投資家からの関心も高く、非常に活況を呈しているよう...

機械経済の到来: つながる世界を動かす

機械経済は、長年にわたる急速な社会の発展と新しい製造プロセスへの移行によって進化してきました。第一次...

あなたの疑問に答える3つの側面:「怠け者」は人工知能に置き換えられるでしょうか?

100年前、女性は衣服を洗うときに手で「こする」必要がありました。 50 年前、テレビのチャンネル...

これがあれば、母は私が授業をさぼったり、空想にふけったり、携帯電話で遊んだりすることを心配する必要がなくなります...

最近、中国薬科大学は試験的に教室に顔認識システムを導入しました。学生の出席を自動的に識別するだけでな...

ChatGPTの医療版ライブレビュー!治療計画は実際の医師のものと96%一致しています

同国初の大規模医療モデルはすでに患者を「診察」している。最近、病院内の AI 医師の実際の監視データ...

Karpathy の新しいビデオが再び人気に: GPT Tokenizer をゼロから構築

技術の第一人者カパシー氏がOpenAIを去った後、彼のビジネスは非常に活発になっています。新しいプロ...

自動運転AIアルゴリズムとマルチセンサー融合技術

高度な自動運転は、周囲の環境を高いレベルで認識し、人間の介入をほとんどまたはまったく必要とせずに車両...

「怠け者の経済」は、消費者向け家電製品のインテリジェント制御を主流に促進するでしょうか?

 新たな住宅消費トレンドが出現[[342344]] 90年代以降の世代である荘さんは、仕事から帰宅...

...

ニューラルネットワークのトレーニングでは、エポック、バッチサイズ、反復の違いがわかりません

[[204925]]きっと、コンピューターの画面を見て頭を悩ませ、「なぜコードでこの 3 つの用語を...