データ サイエンスは、 Knowledge Discovery in Databases (KDD) およびVery Large Data Bases (VLDB)カンファレンスの初期の頃から長い道のりを歩んできました。 1980 年代から 90 年代のデータベースを扱うソフトウェア エンジニアは、2000 年代に専門のデータベース エンジニアに進化しました。一方、小規模な研究所の一部のコンピュータ科学者は、機械学習と人工知能の実験を行っています。 2010 年代に起こったカンブリア爆発でビッグデータとスマート アルゴリズムが衝突し、「データ サイエンティスト: 21 世紀で最もセクシーな仕事」が誕生しました。それから 10 年後、パンデミック後の 2022 年に、「 データ サイエンティストは今でも 21 世紀で最もセクシーな仕事ですか? 」。
なぜこの記事を書いているのですか?
手短に失礼しますが、この記事は 2022 年の Noonies Award に関連して書かれています。 HackerNoon の 2002 Noonie Awards は、技術に関するあらゆる分野で最高の洞察を共有するテクニカル ライターを称えるものです。
正式な紹介:
こんにちは、リリンです。日中は、Amazon で応用科学者として働いており、仕事の後はオープン ソースのコードを書いたり、自然言語処理に関する技術記事を書いたり、ゲームのポップ カルチャーに関する記事を書いたりしています。
Hackernoon Contributor of the Year for Natural Language Processing (NLP) カテゴリにノミネートされたことは喜びと名誉です。私が共有している NLP または機械翻訳のコンテンツを楽しんでいただけた場合は、 https: //www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-natural-language-processing
ノミネートを記念して、この記事を「Ask Me Anything」の質問と回答の形式で書いています。
テクニカル ライターとして、私は機械学習の新しいテクノロジを共有するのが大好きで、言語および翻訳関連のテクノロジに特に弱い点があります。ノミネートを記念して、この記事を「Ask Me Anything」の質問と回答の形式で書いています。 「私はどのような科学者ですか?次のセクションでは、テクノロジー業界の「」について説明します。
「21世紀で最もセクシーな仕事」に戻る
現在、「データ サイエンティスト」の職務記述書にはさまざまな形式があり、大きく分けて次のカテゴリに分類されます。
- データサイエンティスト
- 研究員
- 応用科学者
- データ エンジニア
- リサーチエンジニア
- 機械学習 (ML) エンジニア
さまざまな役職の役割と責任の違いについて誰かに尋ねると、おそらく、それぞれの役職を線引きする漠然とした線で終わるでしょう。
さまざまな役職の役割と責任の違いについて誰かに尋ねると、おそらく、それぞれの役職を線引きする漠然とした線で終わるでしょう。実際には、通常、会社やチームの役割定義に基づいて異なるあいまいな重複する作業範囲です。主な違いは通常、「科学者」と「エンジニア」の役割の間にあり、科学者は通常、データとモデルの品質面により重点を置くことが期待されますが、エンジニアはモデルの整合性とサービスの信頼性により重点を置くことが期待されます。
Q: データまたはモデルの品質は?
これは通常、「科学者」の責任です。業界では、これはチームがサポートおよび/または開発するさまざまなタスクとアプリケーションに固有のものです。学術研究者が機械学習モデルを構築するのと似ていますが、通常、最終モデルが使用可能かどうかという実用性は、業界の最先端の結果を打ち負かす必要性よりも優先されます。
- 通常、データ品質タスクには次のものが含まれます。
- モデルのトレーニング/改善に使用できるオープンソース データは何ですか?
- モデルのトレーニングや改善に使用できる内部データ ソースの所有者は誰ですか?
- モデルに合わせてデータを抽出、変換、保存、ロードする方法は?
- データの品質とサイズを改善するにはどうすればよいですか?
- モデルの品質タスクには通常、次のものが含まれます。
- タスクを解決するために使用する適切なアルゴリズムまたはネットワーク アーキテクチャを見つける
- タスク/アプリケーションを評価するために使用する評価フレームワークの定義/改良
- 定義された評価指標/フレームワークに基づいてモデルのパフォーマンスを改善する
- アルゴリズムの速度とパフォーマンスのトレードオフを最適化して、モデルを本番環境で使用できるようにする
Q: モデルの整合性とサービスの信頼性とは何ですか?
これは通常、「エンジニア」の責任です。今日の最新の機械学習アプリケーションにとって、信頼性は非常に重要です。顧客/ユーザーにとって最適なモデルを作成するための科学者の二酸化炭素排出量の努力が、本番環境で期待されるパフォーマンスを生み出すことを確認することが重要です。
科学者の「私のラップトップで動作する」という発言は業界では受け入れられず、エンジニアは「どこでも動作する」という夢の実現を支援しています。
- モデル整合性タスクには通常、次のものが含まれます。
モデルのトレーニングとデプロイを自動化するためのフレームワークの構築と維持
実験プロジェクトで行われた機能/改善が製品モデルで利用可能であることを確認する
科学者のモデルを生産に持ち込む際の手動ステップを削減/排除するために、実験セットアップを自動化するための漸進的な改善。
- 通常、サービスの信頼性タスクには次のものが含まれます。
- アラートを設定し、ユーザーのアプリケーションの使用状況を監視し、機械学習モデルが失敗/中断した場合/いつ発生するかを監視します
- 内部/国/地域の規制に準拠するために、ユーザーのモデルへのアクセスを指定および制限する
- 増加するユーザーと負荷がサービスにアクセスできるようにする
現代では、これらのエンジニアリングの責任は Machine Learning Operations (MLOps) として知られていることがあります。Chip Huyen は、意欲的な ML/Data/Research エンジニア向けに MLOps の概要を説明する優れたブログ投稿を行っています。
機械学習、データ、応用、研究科学者/エンジニアが行うことについては他にも多くの定義がありますが、上記は私の個人的な業界経験からのものです。
Q: 科学者とエンジニアのどちらを選ぶべきですか?
場合によります!また、前述のように、それは会社によって異なります。誰もが、求職プロセス中に予想される責任について採用マネージャーに常に尋ねる必要があります。
優れた科学者は、いくつかの工学的作業を行うことができるはずです。逆に、優れたエンジニアは、いくつかの機械学習モデルを構築できる必要があります。
個人的には、科学者として、志望する/新しい科学者に与える私のアドバイスは次のとおりです。
- バックエンド/フロントエンドのエンジニアリングを知っていると役立つ
- エンジニアにとって何が可能で、何が簡単で、何が難しいかを知る
- エンジニアから学ぶ (ドッカー、データベース、クラウド、アプリの設計/開発)
- エンジニアにあなたの仕事を学ばせましょう
最後に、私が常に自分自身に思い出させようとしているのは、
P/S: エンジニアは、科学者よりも優れたモデルをトレーニングする可能性があります。
Q: 実用的な話をしましょう。データ、研究、または応用科学者の間に違いはありますか?
役割と責任に関しては似ていますが、実際には、企業によっては、異なる科学者の立場を明確に区別している場合があります。そのため、常に人事 (HR) 担当者または採用マネージャーとして、特定の「役割ガイドライン」を共有することができます。また、会社やチームに加わった後の役割の期待を理解することが特に重要です。
Q: ええ、それは技術、キャリア、データ、研究、または応用科学者のための生地 (実際には $$$ の差) について詳しく教えてください。
私はほとんどの場合、個人的には「実用主義者」ですが、「生地」に関しては、 https://www.levels.fyi/ 、会社の友人や先輩に尋ねるのが、会社についてもっと知るための最善の策です。およびその補償。
私の個人的な意見:
「お金のためにやらないで」は過大評価されています。それをすることへの愛のためにそれをしてください。数値と言語データ、つまり NLP を見るのが好きです。ただし、それを行うのに十分な報酬を受け取ることを忘れないでください =)
進路談話の次は技術パート!
機械学習分野における科学者とエンジニアの違いについて説明してきましたが、ここでは、ほとんどすべての科学者が尋ねるであろう差し迫った質問に答えようと思います。
Q: 問題 X があります。どのツールまたは方法 Y で解決できますか?
これは通常、「良い質問をする方法」ガイドによると、StackOverflow の質問の最悪の形式ですが、コミュニティはできる限り回答を試みるべきものだと思います。
私の個人的な意見:
これらの実践的な質問には、「悪い」質問や「もっと集中する必要がある」という質問はありません。しかし、悪意のある製品や技術の広告を引き寄せることは避けられません。
これが、「科学者」としての X の問題、Y のアプローチに答える 10 段階のアプローチです。
文献展望
- 読めば読むほど、手元にあるツールが増えます
- ただし、ウサギの穴を避けるために時間を制限してください。「ペーパーブリッツ」を試してみてください =)
利用可能なデータセットとその内容 (ノイズ、癖など) を把握する
タスク X が通常評価される評価指標を見つける
タスクの最も古い関連する引用を追跡し、その論文を読む
そのタスクで最も引用されている論文を見つけ、それをベースラインとして使用します
- 可能な限り、最も引用された論文と最新の最も輝かしい論文のデータセットを探し出す
タスクの成功基準を産業的に定義します(タスクの標準的な評価基準ではない場合があります)。
ベースラインの複製または再実装を試みる
モデル/ライブラリをエンジニアに伝えます。あなたのエンジニアはそれを製品化できますか?
ベースラインは成功基準を満たしましたか?ビジネス/プロジェクトの利害関係者に、それで十分かどうか尋ねます
作って、テストして、壊して、繰り返す!
Q: ちょっと待ってください。これは、タスク X を解決するために学べる「真のアルゴリズム / ツール Y」が 1 つもないということですか?
はい、ありません。
個人的な経験から、顧客の手に渡るツール/モデルは、通常、上記のアプローチのステップ 6 から 9 に大きく依存します。
Q: 機械学習と NLP の次は何ですか (個人的に興奮しています)?
現在、私は自由時間をHuggingfaceについて学んでいます 🤗 ライブラリのさまざまなコンポーネントの使用方法だけでなく、どの機能がそれを成功に導き、どのような X ファクターが牽引力を獲得したかを理解することについても学んでいます 🤗機械学習コミュニティで。
そして、さらに時間があれば、次に時間を投資するのは量子 ML です =)
- https://developer.nvidia.com/cuquantum-sdk
- https://www.nature.com/articles/s41467-022-32550-3
- https://github.com/XanaduAI/pennylane
- https://medium.com/xanaduai/training-quantum-neural-networks-with-pennylane-pytorch-and-tensorflow-c669108118cc
長い間、魚をありがとう!
上記の Q と A が、「私がどのような科学者であるか」についての洞察を与えてくれることを願っています。さらに質問したい質問がある場合は、投稿の下にコメントを残してください。
最後に、Noonie Awards にノミネートされた HackerNoon コミュニティ、スタッフ、スポンサーに多大な感謝の意を表したいと思います。この記事が気に入ったら、 https ://www.noonies.tech/2022/programming/2022-の投票ボタンを押してください。 hackernoon-contributor-of-the-year-自然言語処理