最終更新日:
こんにちは。AINOW編集部のうしろです。
最近、機械学習などのAI技術に注目が集まると同時に、キャリアプランを考える際にAI関連の職業を志望する学生が増加しています。また、最先端IT人材が不足している今、各社が優秀な学生を求めてインターンシップ制度を取り入れ、人材確保に力を入れています。
「将来機械学習に関係する仕事をしたい」と思っている学生には、インターンに行って経験を積むという選択肢がおすすめです。
ということで今回は、「機械学習インターンとは?」というテーマで書いていきます。
目次
なぜインターンをする必要があるのか?
前述で、機械学習に関する仕事をしたいと思っている学生には「インターンに行って経験を積む」という選択肢がおすすめと述べましたが、なぜインターンをする必要があるのでしょうか。
その理由は主に2つあります。
実際の環境でAIを構築するスキルを得ることができる
インターンでは、会社で働く社員と同じように働く場合がほとんどです。そのため、実際の環境でAIを構築するスキルを得ることができます。
学生がインターン以外で実際の環境で働けることはほぼないので、非常に貴重な経験となりますし、仕事の内容・雰囲気も具体的に分かります。
例えば、エンジニアの開発環境においては、チームで開発する場合がほとんどです。インターンに行けば、独学やプログラミングスクールでは学ぶことのできない、チームで作業する実践的なスキルが学べるでしょう。
また、優秀な社会人エンジニアや学生と切磋琢磨して仕事をすることで、大きく成長することができます。
そして就活の際、インターンで実務経験があるとアピールすれば、即戦力で使える人材だと分かるため大変有利になります。
整備されたデータだけではなく、現場のデータの扱い方を知ることができる
機械学習を学ぶ上では、データセットが整備された状態で学ぶことが多いです。
しかし、会社ではデータ基盤が整っていないケースや、データを使うために他部署の許可が必要なケース、そもそもデータを取得していないケースなど、データ活用のさまざまな課題が存在します。
プログラミングスクールなどでスキルを学ぶだけでなく、実際に現場で課題に直面しながら、どのようにしたら現場でAIを構築できるのかを考える課題解決能力が求められます。
そういった理由で、実際に現場で活躍できるAIエンジニア、データサイエンティストになるために、インターンは最適です。
長期と短期の違い
インターンには、長期インターンと短期インターンの2つがあり、以下のような違いがあります。
長期インターン | 短期インターン | |
3ヶ月以上 | 勤務期間 | 1日〜2週間 |
有給 | 給与 | 無給の場合が多い |
学年問わず | 参加学年 | 基本的に大学3年生 |
社員と同じ業務 | 業務内容 | インターンのために用意されたプログラム |
スタートアップ企業 | 開催企業 | 大企業 |
こちらをご覧いただければ分かる通り、実践的なスキルを身につけたい場合は、長期インターンに行くのがオススメです。
今回は、主に長期インターンについてご紹介します。
機械学習エンジニア部門
機械学習エンジニアとは
機械学習エンジニアとは、AIに関連する職業のなかでも特に機械学習の実装や開発に携わるエンジニアのことです。ときには「MLエンジニア」とも呼ばれます。
機械学習とは、コンピュータに命令やデータを与え、反復的にそれらを学習させることでコンピュータの知能を向上させる技術です。機械学習エンジニアは、そのコンピュータに与えるデータやプログラム、アルゴリズムを組む人のことを指します。
そのため、一般的なエンジニアよりも比較的少ないコードで済む場合が多いです。
機械学習エンジニアについて詳しく知りたい方はこちらをご覧ください。
機械学習エンジニアの業務内容
現在機械学習は様々な企業で使われており、そこで活躍する機械学習エンジニアの具体的な業務内容は、企業によって変わります。
例えば、画像認識で製品の異常を検知するAI開発を行う企業もあれば、タクシー配車予測システムを開発する企業もあったり、中にはチャットロボットの開発を行う企業などもあります。
機械学習エンジニアの業務内容を抽象化すると、主に3つの業務に分けられます。
- サービスの開発・運用
- 機械学習モデルの作成
- 論文や最新技術の研究、調査
サービスの開発・運用
機械学習を利用したサービスの開発は、機械学習エンジニアが中心となって進める仕事の一つです。
Pythonなどのコードを用いてサービスを開発したり、インフラ整備やバッチ処理の運用を行ったりします。開発するサービスは、個人・企業・開発者向けなど企業によって多岐に渡ります。
また、機械学習を使ったモデルやデータはサービスによって異なるため、定期的な運用が必要です。
機械学習モデルの作成
モデルの作成も、機械学習エンジニアの仕事のひとつです。機械学習の中でも、活用が進む多くのモデルでは、多くの教師データを学習させることが必要です。
機械学習エンジニアは、データを学習するアルゴリズムを作成することで、機械学習モデルを構築します。また、高い精度が出るかの検証も行うことで、データやアルゴリズムの選択に間違いが無いか確かめます。選択したモデルが現場で活用できるモデルであるか確認することも重要な職務です。
論文や最新技術の研究、調査
機械学習領域は日々、急速に技術が進化しています。現在使っているシステムが、数年後には古いものとして使われなくなる可能性も十分あるということです。
そのため機械学習エンジニアは、最新の技術情報を研究し、時にはそれを自社のシステムに取り入れることも必要でしょう。
好奇心を持ち、日々勉強する姿勢でないと、機械学習エンジニアを続けるのは難しいかもしれません。
機械学習エンジニアはこんな人にオススメ
- データ分析が好きな人
- 数学的・論理的思考が好きな人
- 物事を根気よく地道に取り組むことができる人
- 新しいことを学ぶのが好きな人
機械学習エンジニアのインターンに受かるには?
基本的に機械学習エンジニアのインターンに受かるには、ある程度の知識や経験、スキルが必要です。
具体的には、
- 機械学習に関する知識
- Pythonのスキル
- データベースに関する知識
- 一般システムの開発に関する知識
- 数学・英語・統計に関する知識
などがあるとインターンに参加できる確率が非常に上がります。
機械学習に関する知識
「機械学習エンジニア」というくらいですから、機械学習に関する知識は必須です。機械学習や深層学習、アルゴリズムなどの知識を身につけておきましょう。
Pythonのスキル
Pythonのコーディングスキルがあれば、スムーズに業務を進めることができます。企業によってライブラリやフレームワークは異なりますが、機械学習エンジニアがコーディングを理解していれば、他部署とも連携が取りやすくなります。
データベースに関する知識
機械学習では、コンピュータに多くのデータを学習させます。データの基本やデータベースに関する知識はモデル設計にも役立ちます。データ操作にはさまざまな種類がありますが、SQLは押さえておくといいでしょう。
一般システムの開発に関する知識
Javaなどのプログラミング言語も、機械学習エンジニアの仕事に役立ちます。機械学習エンジニアの仕事は、人工知能単体に関する業務だけではありません。人工知能を使ったアプリケーションの開発にも携わることがありますので、そのようなスキルも習得しておくと良いでしょう。
数学・英語・統計に関する知識
機械学習エンジニアには、微分、行列などの数学的な知識や、データ分析などの統計の知識が求められます。また、機械学習の論文は英語ベースのものも多いため、英語の文章に慣れておくと、Web上に公開される最新の論文をいち早くチェックすることができます。
インターンの例
BASE株式会社
必須スキル
- 自らWebサービスやアプリの開発を行い、リリースした経験をお持ちのエンジニアの方
- ベンチャーやスタートアップにて、Webサービスやアプリの開発経験があるエンジニアの方
※上記の経験を証明するため、GitHubのURL等の提示が必要。
主な開発環境
- サーバサイド言語: PHP, Golang, Python
- サーバサイドフレームワーク:CakePHP
- フロントエンド言語:TypeScript
- フロントエンドフレームワーク:Vue.js
- iOS/Android:Swift, Kotlin
- インフラ: AWS (ECS/EKS/S3/Lambda/SNS/SQS/API Gateway/Fargate)
仕事内容
勤務地
東京都港区六本木三丁目2番1号 住友不動産六本木グランドタワー 37F
給与
データなし
勤務条件
平日に週3日以上の出社、半年以上の勤務が可能な方
求人サイト:サービス開発経験を活かして実力を伸ばしたい、長期エンジニアインターン募集!
企業サイト:BASE株式会社
データサイエンティスト部門
データサイエンティストとは
一般社団法人データサイエンティスト協会によるとデータサイエンティストとは「データサイエンス力、データエンジニアリング力をベースにデータから価値を創出し、ビジネス課題に答えを出すプロフェッショナル」と定義されています。
データサイエンティストとは、さまざまな意思決定の局面において、データにもとづいて合理的な判断を行えるように意思決定者をサポートする職務またはそれを行う人のことです。
統計解析やITのスキルに加えて、ビジネスや市場トレンドなど幅広い知識が求められます。簡潔に表すと「膨大なデータを分析し、そこから得られた結果をビジネスに活用する」職業と言えます。
▼データサイエンティストについて詳しく知りたい方はこちらをご覧ください。
データサイエンティストの業務内容
データサイエンティストの業務内容は、主に4つの業務に分けられます。
- 会社の課題の把握
- データの収集、環境整備
- データ分析
- 課題解決、提言
会社の課題の把握
データサイエンティストは、データを収集する前に、課題の把握を行います。真にビジネスに貢献するデータ分析を行うには、課題(問題)設定が最も重要と言っても過言ではありません。
また、現場に存在する課題を発見するために、時には現場の担当者と緊密な関係を築くことも必要です。
データの収集、環境整備
課題を把握し、仮説設定を終えれば、データ分析に必要なデータを準備します。データ分析においては、闇雲に蓄積されたデータでは、十分な分析精度が実現できません。
精度の高い分析を可能にするために、目的に合ったデータを収集し、分析可能なようにデータ整理(データクレンジング)を行います。
データ分析
データベースやデータ分析基盤の整備が終われば、データ分析に入ります。さまざまな分析手法の中から適切な手法を選び、設定した課題を解決できるような「答え」を見つける作業です。
課題解決、提言
データ分析が終われば、その結果を必要な部門に報告します。設定したKPIが達成されているかを項目別に整理します。また、分析して得られた内容から、ビジネス施策を立案して提言します。
時には、次なる問題を明らかにすることで、次のデータ分析の施策につなげることもあります。
データサイエンティストはこんな人にオススメ
- 情報収集・分析に興味がある
- 分析と予測のくりかえしが得意、地味な努力ができる
- 数字やプログラムが苦にならない、論理的思考力がある
データサイエンティストのインターンに受かるには?
データサイエンティストのインターンは、高度なスキルが問われるため大学で機械学習、画像処理、数学を専門的に学んだ経験が問われる場合が多いです。
理工系や理数系の学部でないと、インターンに行けないわけではありません。SQL等を利用してデータ取得・加工した経験や統計学・機械学習アルゴリズムに関する知識があれば採用される場合もあります。
しかし、業務ではデータ分析に関する専門かつ高度な知識が問われるため、必然的に理系の学生がデータサイエンティストのインターンに採用されやすくなります。
インターンの例
株式会社EXIDEA
必須スキル
- 開発経験はないが情報工学系の学部に在籍している
- データサイエンス系の場合は、研究室等で経験がある
主な開発環境
- 開発言語:Python, Shell Script, SQL, PHP, Node.js, TypeScript, Java
- インフラ:AWS (Lambda, Athena, Redshiftなど), またはGCP
- ソースコード管理:Github
- ツール:Redmine, Lucidchart, ChatWork, Slack
仕事内容
データサイエンスから分析基盤開発、DevOpsなど
勤務地
東京都墨田区 本所1丁目4−18
給与
時給 1,050円〜1,050円(交通費支給あり)
勤務条件
- 勤務可能日: 月,火,水,木,金
- 週3日以上
- 10時00分〜19時00分の間で1日6時間以上
- 平日週3日、1日6時間から出勤できる(※時期や状況に応じて相談可能)
- 現在リモート勤務
求人サイト:学校では学べない!圧倒的に実践的なプロダクト開発がしたい学生募集
企業サイト:株式会社EXIDEA
まとめ
今回は「機械学習インターンとは?」というテーマでご紹介してきました。
将来機械学習に関する仕事をしたい方は、インターンで実務経験を積んでおくと、就活のとき非常に有利になります。機械学習が学べるインターンは、募集が少なかったり選考難易度が高かったりして大変ですが、その分採用された場合は得られるものが大きいです。
良い募集が見つからない方は、こちらの記事を参考にしてみてください!
【関連記事】
今回は以上です。
◇AINOWインターン生
◇Twitterでも発信しています。
◇AINOWでインターンをしながら、自分のブログも書いてライティングの勉強をしています。