このトピックでは、実際の開発における MaxFrame フレームワークの主要な機能とベストプラクティスについて説明します。実行可能なコード例とシナリオベースの手順を提供することで、MaxFrame のコア機能を迅速に理解し、習得するのに役立ちます。これにより、導入のハードルが下がり、開発効率が向上します。
一般的な機能とコア機能
|
機能モジュール |
コア機能 |
典型的な応用シナリオ |
利点と特徴 |
|
|
DataFrame またはデータチャンクに対するユーザー定義関数 (UDF) の並列実行をサポートします。 |
UDF の構築が必要な複雑なユーザー定義計算ロジック。複数の入力行の並列処理が必要な大規模データ処理。 |
Python 関数のネイティブ呼び出し、自動分散スケジューリング、および同時バッチ処理をサポートし、処理効率を大幅に向上させます。 |
|
GU リソースの使用 |
ヘテロジニアスコンピューティング向けに、CU と GU のハイブリッドスケジューリングをサポートします。 |
ディープラーニング推論とマルチモーダルデータ処理。 |
異種リソース (CU と GU) の統合管理により、単一のジョブパイプラインで完全な処理フローを構築できます。 |
|
AI Function on GU |
組み込みの大規模言語モデル (LLM) とカスタムモデルをサポートします。AI Function API を呼び出して GU リソースを使用することで、LLM 推論を実行できます。 |
バッチモデル推論シナリオ (構造化データ抽出、テキスト翻訳、データラベリング、画像分類、音声認識、ベクトル化など)。 |
Qwen3 や DeepSeek などの主要な組み込み LLM に対応しています。 |
|
OSS のマウントとアクセス |
Object Storage Service (OSS) の直接マウントをサポートし、大量のデータの読み取り、書き込み、操作が可能です。 |
マルチモーダルデータセットの読み込み。 |
OSS をダウンロードせずにマウント可能で、ストリーム読み取りをサポートし、標準のファイル API と互換性があります。 |
具体的なユースケース
apply および apply_chunk 演算子の使用に関するベストプラクティス
データ量と利用可能なリソースに基づいて batch_rows パラメーターを設定し、メモリ不足 (OOM) エラーを防止してください。
機能の説明
-
applyは、MaxFrame DataFrame の行または列にカスタム関数を適用します。行または列全体に対するベクトル化操作をサポートします。 -
apply_chunkは、MaxFrame が提供する低レベル API です。MaxFrame DataFrame の各データチャンクにカスタム関数を並列に適用します。分散 DataFrame の物理シャードに対する直接操作が必要な高度なシナリオに適しており、パフォーマンスの最適化やカスタム計算ロジックによく使用されます。
ユースケースの例
-
applyを使用して、電話番号のマスキングなど、フィールドを標準化します。 -
apply_chunkを使用して、数百万の画像パスを並列処理し、メタデータを抽出します。
チュートリアル
MaxFrame GU リソースの使用
機能の説明
複雑なデータ処理やジョブパイプラインでは、異なる計算ノード上の CU または GU リソースが必要になることがよくあります。MaxFrame は、CU および GU リソースのハイブリッドスケジューリングと計算をサポートします。MaxFrame UDF では、リソースタグを使用して GU クォータを要求し、ハイパフォーマンスコンピューティング (HPC) タスクを実行できます。
ユースケースの例
-
画像またはビデオフレームの抽出とエンコーディング
-
複雑なデータ処理
チュートリアル
-
MaxCompute AI 計算リソースを使用する前に、MaxCompute GU クォータを購入する必要があります。詳細については、「MaxCompute AI 計算リソースの購入と使用」をご参照ください。
AI Function on GU を使用した開発のベストプラクティス
使用する LLM のパラメーター数に対して十分な GPU メモリを持つ GPU カードを選択して購入してください。
機能の説明
MaxFrame AI Function は、Alibaba Cloud MaxCompute プラットフォーム上のオフライン LLM 推論シナリオ向けのエンドツーエンドのソリューションです。そのコア機能は次のとおりです:
-
データ処理と AI 機能のシームレスな統合
-
MaxFrame DataFrame を介して、Qwen3-4B などの LLM と直接対話できます。
-
generateおよびtaskAPI を提供し、柔軟性と使いやすさを両立させています。
-
-
GPU リソーススケジューリング (GU)
-
gu_quota_nameを使用して GPU リソースを要求し、さまざまなサイズのモデルに対応できます。たとえば、4B モデルの場合、2 GU が必要です。
-
-
LLM のマネージド呼び出し
-
Qwen3-4B-Instruct-2507-FP8 などの組み込みモデルライブラリが用意されており、temperature や max_tokens などのパラメーターチューニングをサポートします。
-
大規模な同時スケジューリングをサポートし、バッチ推論のパフォーマンスを最適化します。
-
ユースケースの例
-
ナレッジ Q&A
-
シナリオの説明:自然科学、歴史、技術などの分野の質問に答えます。多言語での質問や複雑な推論に対応しています。
-
典型的な応用例:
-
科学計算:
"What is the average distance between the Earth and the Sun?" -
歴史上の出来事:
"In what year did the American Revolutionary War begin?" -
技術原理:
"What is the core mechanism of the Transformer model?"
-
-
-
テキスト翻訳
-
シナリオの説明:言語間でテキストを翻訳します。中国語と英語の翻訳をサポートし、専門分野の用語にも対応しています。
-
典型的な応用例:
-
中国語から英語へ:
"如何缓解头痛?"→"How to relieve a headache?" -
法律/医療テキストの翻訳:
"The patient needs to take one aspirin tablet daily."
-
-
-
構造化データ抽出
-
シナリオの説明:非構造化テキストから主要なエンティティ、プロパティ、または関係を抽出します。
-
典型的な応用例:
-
エンティティ抽出:
-
入力:
"The iPhone 15 Pro is the latest flagship phone released by Apple." -
出力:
{"product": "iPhone 15 Pro", "brand": "Apple", "type": "flagship phone"}
-
-
履歴書の解析:
-
入力:
"田中太郎、Java 開発経験 5 年、Spring Boot フレームワークに習熟。" 出力:
{"name": "Zhang San", "skills": ["Java", "Spring Boot"], "experience": 5}
-
-
-
チュートリアル
OSS のマウントと使用に関するベストプラクティス
パフォーマンスを向上させるために、この機能を apply_chunk と組み合わせて並列読み取りを実装できます。
機能の説明
データ分析シナリオでは、MaxFrame ジョブを OSS などの永続的なオブジェクトストレージと併用することがよくあります。例:
-
OSS から生データをロードして、クレンジングや処理を行います。
-
中間結果を OSS に書き込み、後続のタスクで利用します。
-
トレーニング済みのモデルファイルや設定ファイルなどの静的リソースを共有します。
従来の読み書きメソッド (例: pd.read_csv("oss://...")) は、SDK のパフォーマンス制限やネットワークオーバーヘッドのため、分散環境では非効率です。ファイルシステムレベルのマウント (FS マウント) を使用すると、MaxCompute 内の OSS ファイルにローカルディスクファイルのようにアクセスできます。これにより、開発効率が大幅に向上します。
ユースケースの例
-
oss://maxframe-datasets/images/の OSS バケットディレクトリを、後続の処理のためにローカルの MaxCompute パス/data/imgsにマウントします。