機械学習エンジニアリングの概要

最終更新: 2024-06-10 16:36:47 +0800 +0800
原文は英語で書かれています。あなたはAI翻訳版を読んでいます。

機械学習エンジニアリングは、実験と信頼性の高いシステムをつなぎます。対象には、データコントラクト、再現可能な学習、評価、パッケージ化、デプロイ、監視、反復が含まれます。モデルアーキテクチャの選択だけが対象ではありません。

科学計算向け Python の基盤 #

NumPy は、多次元配列の中核となる型と数値演算を提供します。SciPy は NumPy を基盤として、最適化、統計、信号処理、科学計算のアルゴリズムを提供します。scikit-learn は、古典的な機械学習モデル、前処理、モデル選択、評価ツールの利用しやすい実装を提供します。

sh
python -m pip install numpy scipy scikit-learn

再現性のある作業のため、仮想環境を使用し、依存関係のバージョンをロックしてください。NumPy、SciPy、scikit-learn は、それぞれ異なるスコープを持つ相互補完的な別プロジェクトです。

ディープラーニングとモデルライブラリ #

PyTorch は、テンソル、自動微分、ニューラルネットワークモジュール、分散学習のプリミティブを提供します。

sh
python -m pip install torch torchvision

Hugging Face Transformers は、多くの事前学習済みアーキテクチャの実装と読み込みユーティリティを提供します。PyTorch と組み合わせて使用されることが多い一方で、モデルのトークナイザー、設定、ライセンス条件を理解する必要がなくなるわけではありません。

vLLM、TensorRT-LLM、Text Generation Inference などの推論エンジンは、効率的なサービングに重点を置いています。DeepSpeed、FSDP、PyTorch Lightning などの学習フレームワークは、それぞれ異なる課題に対応します。コンポーネントを相互に置き換え可能なモデルライブラリとして扱うのではなく、ワークロードに応じて選択してください。

モデルアーティファクトと安全性 #

一般的なアーティファクト形式には、NumPy の .npy 配列、PyTorch のチェックポイント、safetensors ファイルがあります。Python の pickle ベースの形式は、読み込み時に任意のコードを実行できるため、信頼できないソースから取得したアーティファクトを決して unpickle しないでください。safetensors は、そのような実行動作なしでテンソルを保存するように設計されています。

エンジニアリングワークフロー #

測定可能なプロダクト目標と、代表性のある評価セットから始めてください。データ、コード、設定、モデルアーティファクトをまとめてバージョン管理します。デプロイ前に、レイテンシ、メモリ使用量、障害モード、およびアプリケーションにとって重要な母集団のスライスに対する挙動をテストしてください。デプロイ後は、データドリフト、品質シグナル、コスト、リグレッションを監視し、安全なロールバック手段を維持します。

コメント

GitHub で閲覧・コメントする(投稿にはログインが必要です)