AIプロジェクトを進めるにあたってのプロセスについて。
目次
AIプロジェクトのプロセス
- データ収集方法と利用条件の確認
- 学習可能なデータの収集
- データの加工
- 開発・学習環境を準備する
- AIモデルの学習
- 推論を行う
3)データの加工
- 「データの加工」→不要な情報や形式の違いを前処理する必要あり
- 教師あり学習の場合→正解データを作成する必要あり。
※「アノテーション」→人間によって正解データを作成する作業
→アノテーションの問題(ばらつき)
→①定義の曖昧さ、②実施者の完成、③作業の専門性、④認知容量を超える規模、⑤ケアレスミス
→要件を正しく決め、作業者のアサインメントを調整、レビュープロセス等の仕組みを作る - 要件を決める→「マニュアル作成」
→①アノテーションの判断軸、②サンプルの提示、③作業精度の明確化 - データの「個人情報」→「匿名加工」を行う
4)開発・学習環境を準備する
- 「Python」→AIモデル開発に用いられるプログラミング言語
※他には、C、C++、Java、R、Matlabなど - 「ライブラリ」→様々な機能を簡単に使えるツール群
- Python自体とそれらのライブラリのバージョンをあわせる必要がある
- プロジェクトごとにライブラリやPythonのバージョン等の環境を切り替えられることが望ましい
→pyenv、virtualenv、pipenv、poetryなど
→Docker(仮想環境)を利用し、OSレベルから環境の一貫性を保つ - Pythonコードを作成するための開発環境
①テキストエディタ(Vim、Emacs)を使う方式
②IDE(統合開発環境)を使う方式
③ブラウザ(Jupyter、Notebook、Google Colaboratory)上でPythonコードを編集・実行し結果を管理する方式
PythonでAI開発を行う際に利用される、既存のオープンソースのライブラリ
名称 | 用途 |
---|---|
Numpy | 数値計算 |
Scipy | 数値計算 |
Pandas | データ解析 |
Scikit-learn | 機械学習 |
LightGBM | 機械学習 |
XGBoost | 機械学習 |
Pytorch | 機械学習 |
Tensorflow | 機械学習 |
Pytorch lightning | 機械学習 |
Optuna | 最適化 |
TensorBoard | 実験管理 |
MLFlow | 実験管理 |
CUDA | 高速化 |
TensorRT | 高速化 |
DeepSpeed | 並列・分散 |
transformers | 目的特化 |
mmdetection | 目的特化 |