2021 年にアルゴリズム エンジニアに必要な必須スキルは何ですか?

2021 年にアルゴリズム エンジニアに必要な必須スキルは何ですか?

[[413437]]

アルゴリズムエンジニアにはどのような能力が必要ですか? 「ますます増加する量」の要件を満たすために

近年、アルゴリズムポジションの競争がますます激しくなっているという声が高まっています。

学生からよく次のような質問を受けます。「アルゴリズム関連の職種では人材が過剰で、トップレベルのカンファレンスに合格しないと入れないので、開発に転向する人が多いと聞きました。」新卒者であろうと、職場で2、3年働いている人であろうと、全員が退職を勧められています。今日のアルゴリズム エンジニアが要件を満たすには、どのような能力が必要ですか?

本日は、Taobao のアルゴリズム エンジニア 3 名をお招きし、アルゴリズム入力の経験や、Taobao で働くために本当に必要な能力や資質についてお話しいただき、皆様の参考になれば幸いです。

01

タオバオテクノロジー部門 | ビジネスマシンインテリジェンス部門 北源

「優れたアルゴリズムエンジニアには、実際のアプリケーションで対応するモデルの上限を引き出せるように、データ分析とコードエンジニアリングの能力が必要です。」

アルゴリズム エンジニアとして、問題の定義と解決が最優先事項であるため、モデリングとモデル最適化機能だけが検討されるわけではありません。データ分析機能とコードエンジニアリング機能はどちらも非常に重要な部分です。ビジネスアプリケーションのアルゴリズム作業では時間の約 60% がデータと機能の問題の調査に費やされ、残りの 40% の時間がモデルの最適化に費やされます

企業内でアルゴリズムの問​​題を解決することと、論文でデータ指標を改善することの最大の違いは、企業内に用意されたデータや手法がなく、最適化の方向性や問題自体も自分で定義しなければならない場合があることです。最終的には、データの量と品質によってモデルの上限が決まります。

以下では、私が仕事で行ったプロジェクトの例と、会社のアルゴリズム エンジニアに必要な能力をいくつか紹介します。革新的なビジネスにおいて、目標設定、モデル構築、データ分析のチェーン全体を観察するアルゴリズム エンジニアの役割:

プロジェクトの背景

オンライン消費のシナリオでは、革新的なビジネスとは、対応する製品のディスプレイ画像やクリエイティブな広告を作成することです。当時、私たちはすでに、1 つの製品に対して複数の代替クリエイティブ表示画像/製品画像を作成する機能を備えていました。問題は、商品ごとに、オンラインで表示できる商品画像の数が限られていることです。プロジェクトの開始時点では、さまざまなビジネス関係者とデザイナーの間で、どの写真を最終的に選択するかという基準に明らかな矛盾がありました。

問題の定義と最適化の方向性 問題の定義と最適化の方向性

単に販売者の審美的判断に従い、良い製品と悪い製品を手動で選択して二分分類するとします。収束できるかどうかはさておき、異なるマーチャント/異なるオペレーションでは異なる結論に達するでしょう。また、市場が受け入れるかどうかという課題もあるため、このタイプの最適化の方向性は断念します。

最終的に、このビジネスの目標は、商人の負担を軽減し、利益を増やすことです。そのため、生成された画像の品質について消費者に投票する権利を与え、消費者のオンラインクリックスルー率を評価指標として使用します。最終的に、問題は「クリエイティブコンテンツのクリックスルー率予測/ガイダンス制作問題」として定義されます。目標を決定した後、製品マップを生成する各ステップを段階的に最適化しました。

一番大きな成長は、「仕事をやり遂げる」ということに対する理解が深まったことです。以前は、私は「職人」としての役割に満足していました。指定された時間内にアーキテクチャ設計とコードの品質を最大限に高め、ユーザーのニーズを満たし、専門的で実現可能な提案をいくつか提示できれば、その段階の仕事を完璧に完了したとみなされると信じていました。

モデル構築とデータ分析

従来の商品特徴やユーザー行動特徴に加え、クリエイティブコンテンツ生成において考えられる様々な要素(画像背景・撮影角度等)や、最終的なクリック率に影響を与える可能性のある変数、クリック率に関わるデータをモデル化し、商品やクリエイティブコンテンツの選択・配信をガイドします。

一方、オンラインデータフィードバックのプロセスでは、データ分析におけるシンプソンのパラドックスも現れます。つまり、グループ比較で有利な立場にある当事者が、全体的な評価では不利な立場にある当事者になる場合があるのです。比較実験の各小カテゴリの指標はベースラインを上回っていますが、全体的な統計データはベースラインよりも低くなっています。その主な理由は、実験グループと対照グループ内のさまざまなカテゴリのデータの割合が一貫していないことです。これにより、データ量の多い小規模なグループによって全体のデータが偏ってしまう可能性が高くなります。全体と部分的なデータを把握する必要があります。さらに、ヘッドトラフィックデータを最適化すると、プロジェクト全体に大きなプラスのフィードバックがもたらされます。

上記一連の最適化を完了した後、生成された商品画像のクリック率は 20% 増加し、トラフィックは 4 倍に増加しました

画像分類境界問題

グループ内の別の画像分類プロジェクトでは、ビジネス側が約 40 のカテゴリを提供し、各カテゴリのサンプルデータの量は十分でした (ロングテールの問題はありませんでした)。タスクは難しくなさそうですよね?データを取得したらトレーニングを開始できます。最適化期間を経た後、一部のカテゴリの精度は 80% を超えることができず、モデル レベルでの最適化では1 ~ 2%の限られた改善しか得られませんでした。

データ分析の結果、問題の原因はカテゴリの境界が明確に定義されていなかったことであることが判明しました。つまり、写真 a1 はカテゴリ A に配置されていましたが、非常によく似た別の写真 a2 はカテゴリ B に配置されていました。カテゴリの境界が不明確なため、最終的にはネットワークがこれらのカテゴリにうまく収束できなくなります。

最後に、ビジネス側とのさらなるコミュニケーションを行い、要件を明確にし、データセットをクリーンアップしました。最終的な分類モデルの精度とビジネスへの応用は、ビジネス関係者によって認識されます。

ビジネスインパクトモデル表現の推奨事例

フィード ストリーム ランキング推奨モデルのトレーニングでは、アルゴリズム エンジニアにとってデータの有効性を検証することが重要なステップです。ここでは、データ ソース レベルが最終的なクリック率に影響を与える可能性がある、ビジネス プロセスで遭遇した落とし穴をいくつか紹介します。

  • 陽性/陰性サンプルの誤分類:

複数のコンテンツを含むエンドレス フロー シナリオでユーザーが下にスクロールすると、一部のコンテンツ/製品がディスプレイの下部にのみ表示され、ユーザーの視界に完全に入らない場合があります。このとき、ユーザーはインターフェースを切り替えます。何も処理を行わないと、このサンプルは「露出したがクリックしていない」というネガティブなサンプルとなり、トレーニング プロセスにバイアスが生じます。

  • 矛盾の問題:

学習済みモデルテーブルと特徴テーブルが同じノードにデプロイされていない場合や、その他の理由により更新に時間差がある場合、この期間中の推奨結果データは不整合となり、異常が発生します。

一般的に、アルゴリズムエンジニアのモデリング能力とモデル最適化能力は非常に重要です。ある意味、トップカンファレンスで論文を発表することは、優れたモデリング能力と英語表現力があることの証明でもあります。しかし、仕事においては、優れたアルゴリズム エンジニアは、実際のアプリケーションで対応するモデルの上限を活用できるように、データ分析とコード エンジニアリングの能力も備えている必要があります。

02

タオバオ技術部 | アルゴリズム技術 奇烏

「必要なエンジニアリング能力に加えて、有能なアルゴリズムエンジニアはビジネスオーナーと製品の視点も持たなければなりません」

私はレコメンデーションアルゴリズム業界で約5年間働いていますが、この業界に入ったのは偶然でした。私は現在、Alibaba のホームページ推奨アルゴリズム チームで働いています。私の周りには、それぞれが優れたビジネス スキルと技術スキルを持つ優秀な同僚たちがいます。私はキャリアの初めから、素晴らしいパートナーたちに囲まれてきました。

彼らは大まかに2つのタイプに分けられます。1つはテクノロジーが好きで、コードが好きで、研究が好きで、アルゴリズムが好きで、実際のビジネス上の問題をアルゴリズムモデルに抽象化するのが得意で、コードとアルゴリズムに特別な好みを持っています。もう1つのタイプは、感情的知性が高く、管理が得意で、部下とのコミュニケーションや上司への報告が非常に得意で、すぐに管理職に昇進します。これには一定の機会と知恵が必要です。私の周りのほとんどの人は最初のタイプに属します。

エンジニアリング能力の重要性について話す

ダンスを例にとると、アルゴリズムによってトレーニングされたモデルを完成したダンスと比較すると、エンジニアリング能力は基本的なダンススキルになります。基本的なスキルを一度も練習したことがない、または基本的なスキルが貧弱で手と足の協調が取れていない場合でも、努力すればこのダンスを習得することはできますが、芸術的で美しいダンスとは程遠いものになるでしょう。基本的なスキルが非常にしっかりしていれば、どんな新しいダンスも自然に簡単に習得できます。優れたエンジニアリング能力としっかりした基礎スキルがあれば、仕事の過程で解決する必要が生じたときに、いくつかの実用的な問題をすぐに解決することができます。理論と実践を隔てているのは、手だけです。

仕事に必要なエンジニアリングスキルについてお話しましょう。 (アルゴリズム エンジニアは、仕立て屋が裁断できないのと同じように、コードを書くことはできません。)

有能なアルゴリズム エンジニアには、次のエンジニアリング能力が必要です。

  1. デバッグ。問題を素早く見つける能力は非常に重要です。これが一番大事なことなんです。

  2. Python、Java、C++など、これら3つのプログラミング言語は非常に重要であり、使用頻度は高いものから低いものの順になっています。オフライン モデル トレーニングには、Python (TensorFlow または PythonTorch フレームワーク) が必要です。Java は通常、オンライン サービングやカスタマイズされたアルゴリズム戦略の実装に使用されます。オンライン クエリ予測サービスは、通常、C++ で実装されます。

  3. 優れた言語の本をもっと読むことをお勧めします。これは、プログラミングの習慣を身につけるのに非常に役立ちます。もっと読んで、もっと考え、もっとコードを書き、もっと練習すれば、あなたのコードは確実にどんどん良くなります。後ほど、私にとって役に立ったアルゴリズム/言語の技術書をいくつか皆さんと共有するための特別なトピックを書く予定です。

  4. ハイブSQL。これは職場で頻繁に使用される言語であり、私たちは皆 SQL ボーイズ/SQL ガールズです。

  5. シェル、Awk などデータを素早く処理し、Python および Java スクリプトを呼び出すためによく使用されます。

  6. Scala: 仕事を始めた最初の数年間は Spark をよく使っていました。非深層モデルのトレーニングや Hive SQL とのやり取りにとても便利です。

  7. 分散フレームワークの理解。これはとても重要です。たとえば、Tensorflow フレームワークの ps/worker/chief はどのように連携し、パラメータはどこで更新され、モデルはどこでトレーニングされるのでしょうか。

必要なエンジニアリング能力に加えて、有能なアルゴリズム エンジニアは単なるアルゴリズム エンジニアではなく、ビジネス オーナーと製品の視点も備えていなければなりません。

アルゴリズムの効果改善がボトルネックに遭遇したときは、ユーザーの視点や製品レベルから、より良いエントリーポイントがあるかどうかを考えることが役立つ場合があります。また、サプライサイドからコールドスタート、リコール、粗いソート、細かいソート、そしてソートメカニズムに至るまで、業務運営の仕組みを深く考える必要があります。どのリンクにも問題があり、すべてのリンクに最適化ポイントがあります。そのため、フルスタックおよびフルリンクアルゴリズムエンジニアは希少な人材です。供給/リコール/精密な仕分け/メカニズムの調整された最適化を通じてのみ、オンライン結果の質的な飛躍を達成できます。

優れたアルゴリズム エンジニアは、モデルを操作するだけでなく、製品に関する独自の洞察と考えを持つこともできます。たとえば、情報フローの推奨シナリオを最適化する際に、推奨されたビデオ ストリームを実際のユーザーとして体験すると、製品またはシステム レベルでいくつかの問題を簡単に発見できます。その後、アルゴリズムに戻って技術的な手段を使用したり、製品と連携したりして、これらの問題を解決します。この方法でのみ、同社の製品はますます良くなり、アルゴリズムの最適化の上限はますます高くなります。

03

タオバオ技術部 | アルゴリズム技術初級

「技術的な志を持つアルゴリズムエンジニアにとって、勉強する心を持ち続けることは重要です。」

私はコンピューターサイエンスの学部課程を4年間修了しており、主にコンピューターとC++やPythonなどのプログラミング言語について学んでいます。また、コンピューターサイエンスの修士課程を3年間修了しており、主に機械学習とディープラーニングアルゴリズム(画像認識)について学んでいます。現在はタオバオ技術部門のアルゴリズムエンジニア(応用アルゴリズム)として働いています。そこでの勤務日数は600日を超えており、主に取り組んでいるアルゴリズムは売上予測と商品選択です。私たちはビジネスに非常に近いアルゴリズムチームであり、私たちのコアポジショニングは「ビジネス認知度トップ1、差別化された技術障壁の蓄積」です。つまり、アルゴリズム戦略がビジネスの結果を大きく左右するのです。

私はレコメンデーションアルゴリズム業界で約5年間働いていますが、この業界に入ったのは偶然でした。私は現在、Alibaba のホームページ推奨アルゴリズム チームで働いています。私の周りには、それぞれが優れたビジネス スキルと技術スキルを持つ優秀な同僚たちがいます。私はキャリアの初めから、優秀なパートナーたちに囲まれてきました。

ビジネスに深く関わるアルゴリズムエンジニアは、この質問に対して次のような意見で答えます。

ビジネス認識と問題箇所

まず、解決したい問題が何であるか、そしてそれを解決するために複雑なアルゴリズムが必要かどうかを知る必要があります。問題の定義は、ビジネスに関する知識と理解から生まれます。私たちはよく誤解して、自分たちがアルゴリズム エンジニアだと思い込んでいます。タスクの問題に遭遇すると、複雑なアルゴリズムを使用して解決しようとします。諺にあるように、手術は虎のように激しいが、結果は非常に平凡である。したがって、何かを行う前に、ビジネスに対する理解に基づいて問題を明確に特定し、適切な方法で解決する必要があります。

データマイニングと分析

ディープラーニングの応用が飛躍的に進歩できる重要な理由は、ビッグデータのサポートです。現在、データの取得コストは低いですが、データのクリーニングとマイニングのコストは高いですが非常に重要です。データはモデルの入力であり、モデルが適合できる上限です。モデルを入力する前に、データ作業に時間を費やす必要がありますが、これは必要かつ価値があります。したがって、アルゴリズム エンジニアにとって、データ機能を習得することも必須です。

アルゴリズム戦略

これは、すべてのアルゴリズム エンジニアのハード パワーです。問題が明確になり、利用可能なデータを入手したら、その問題を解決するための適切なアルゴリズム戦略を選択する必要があります。 販売量の推定に関しては、ほとんどの特徴が表形式であるため、ツリー モデルとそのバリエーションが推奨されるソリューションになります。 ツリー モデルを使用すると、適切なベースラインをすぐに取得できます。 しかし、立ち止まってはいけません。最適化のために、より高度なソリューションを研究する必要があります。現時点で得られるメリットがあまりないとしても、専門化の精神を貫いてください(最近の時系列モデルでは、非常に人気のあるインフォーマーは試してみる価値があります)。 さらに、「人工知能は人工的であると同時に知能でもある」という言葉は、実用化の分野にも鮮やかに反映されています。 戦略もアルゴリズムの一部です。人工的な戦略は、時には大きな利益をもたらし、より適切なアルゴリズムの最適化の方向性を見つけることもできます。 たとえば、Shoucui の製品プールを最適化する際、Shoucui の現在の推奨アルゴリズムはすでに非常に優れているものの、消費者の取引は主に検索から来ていることを考慮しました。手動分析を通じて製品供給を増やすことを選択し、良好なビジネス成果を達成しました。 これに基づいて、製品選択アルゴリズムを最適化するためのより適切な方向性も見つけました。

オフライン実験とオンラインAB実験

実験は理論を検証する最良の方法であり、最も説得力のあるものでもあります。最適化のための適切な指標をいくつか見つけ、オフラインとオンラインの効果に大きなギャップがないことを確認する必要があります。例えば、売上予測分野で主に使われる指標としてはWMAPEがあり、商品選定業務と組み合わせる指標としてはtopk商品のリコール率などがあります。オフライン実験が最適化された後、オンラインで厳密な AB テストが必要になります。この時点で、完全な実験とその結論が得られました。継続的な反復的な最適化を通じて、さまざまな高品質のアルゴリズム戦略が生み出されます。

最先端の研究論文

技術的な追求を追求するアルゴリズムエンジニアにとって、勉強熱心な姿勢を維持することが重要です。社会人として、学生時代のように最先端の論文を研究し再現するために多くの時間とエネルギーを費やすのは難しいかもしれません。しかし、最先端の技術を追いかける習慣を身につけ、毎週少なくとも一定の時間を論文を読むことに費やし、科学研究者が何をしているのか理解することを忘れないでください。高品質の論文は十分な情報を提供することができます。

他の

  • 良い記憶力は悪いペンほど良くない

時間内に整理してまとめることが大切です。組織構造の調整が行われ、その結果、方向性が変わる可能性があります。したがって、定期的に要約と沈殿を行う習慣を身につける必要があります。

  • 一生懸命勉強して質問する

私たちの周りには素晴らしい友人がたくさんいます。みんなと仲良くなり、コミュニケーションや議論を増やすことで、私たちの成長が早まるかもしれません。

  • 技術共有に参加する

他の人の話を聞き、他の人に伝えましょう。私たちのチームには調和のとれた技術共有の雰囲気があり、最新の研究技術を互いに共有しています。他の人から貴重な経験や知識をたくさん学ぶことができ、また、特定の技術を本当に理解しているかどうかをテストすることもできます。

結論

前述の通り、アルゴリズム職に限らず、「プログラマー職も競争が激しくなってきている」という声をよく耳にします。 誰かが「自分は内に閉じこもっている」と感じる場合、その理由はただ一つ、その人の能力が自分の欲求に追いつけないということだけです。

解決策は簡単です。能力を向上させるか、欲求を減らすかのどちらかです

皆さんが前向きで好奇心旺盛な姿勢を保ち、モデリング能力、データ分析能力、コードエンジニアリング能力、製品観点の向上に注力し、常に「流されない」人であり続けてほしいと思います。一緒に応援しましょう〜

<<:  二重あごをなくすコツがある。浙江大学の2000年代生まれの大学生が、ACM SIGGRAPHで発表した新しい美容アルゴリズムを開発

>>:  一貫性ハッシュアルゴリズムとは何ですか?

ブログ    
ブログ    
ブログ    

推薦する

人工知能は人間の言語を習得したのか?見た目は騙されることがある

[[247418]]人工知能の分野における成果は、誤解されやすく、過大評価されやすい。このことは、人...

...

2020年のIoTイベントトップ10を振り返る。アプリケーションの加速

今日では、それはもはや高尚な概念ではありません。スマートカーやスマートホームから、企業の資産管理機器...

67トピック、11528の質問、新しい中国の大規模モデルマルチタスクベンチマークCMMLUがリリースされました

MBZUAI、上海交通大学、Microsoft Research Asia は協力して、包括的な中国...

教育におけるAIの想像力と限界

広東省の有名な重点中学校である広亜中学校は最近、電子ブレスレット3,500個を購入するために485万...

機械学習モデルを使用して数十億のデータポイントの性別を予測する方法

[[327734]]ユーザーポートレートに基づいた広告は、広告効果を最適化し、精密なマーケティングを...

メジャーアップデート!マイクロソフトが人工知能プラットフォーム「Windows ML」を発表

マイクロソフトは、Windows 開発者に、コードネーム Redstone 4 と呼ばれる今春の W...

5つの新たなAI IoTアプリケーション

人工知能とモノのインターネットを組み合わせたこの新しい技術の波は、新たな機会をもたらし、業界全体の運...

電流制限アルゴリズムを理解すれば十分です。

TL;DR (長すぎるので読まないでください)現在の制限アルゴリズム: カウンター、スライディング...

専門家:TikTokのアルゴリズムはユニークではないが、購入者はそれを自ら開発することを待ちきれない

2018年にバイトダンスがカラオケアプリ「Musical.ly」を買収し、TikTokとしてブランド...

2年半の訓練を経て、テスラのヒューマノイドロボット「オプティマス2」がオンラインになった。

何の前触れもなく、テスラのヒューマノイドロボット「オプティマス」の第2世代が登場しました。 12月1...

...

Googleは機械学習ベースのDDoS攻撃防御をテスト中

[[412418]] Google Cloud のお客様は、分散型サービス拒否 (DDoS) 保護...

Nature: 衣服をマイクとして使う?新しい素材は銃声の方向を検知し、胎児の心拍を監視できる

FPS ゲームをプレイしたことがある人なら、音で位置を識別できるはずですよね?銃声と足音は敵の方向...

深層学習におけるチューリング賞受賞後のベンジオ氏の研究の核心は何ですか?因果表現学習

最近発表された論文で、チューリング賞受賞者のヨシュア・ベンジオ氏らは、チームの現在の研究の焦点である...