このトピックでは、MaxFrame フレームワークの主要な機能と、実際の開発におけるベストプラクティスについて説明します。実行可能なコード例とシナリオベースの手順を提供し、MaxFrame のコア機能を迅速に理解し、習得するのに役立ちます。これにより、導入のハードルを下げ、開発効率を向上させることができます。
共通機能とコア機能
機能モジュール | コア機能 | 典型的な適用シナリオ | 利点と特徴 |
| DataFrame またはデータチャンクに対するユーザー定義関数 (UDF) の並列実行をサポートします。 | UDF の構築が必要な複雑なユーザー定義の計算ロジック。複数の入力行の並列処理が必要な大規模データ処理。 | Python 関数のネイティブ呼び出し、自動分散スケジューリング、同時バッチ処理をサポートし、処理効率を大幅に向上させます。 |
GU リソース使用量 | ヘテロジニアスコンピューティングのための CPU と GPU のハイブリッドスケジューリングをサポートします。 | ディープラーニング推論とマルチモーダルデータ処理。 | 異種リソース (CU と GU) の統合管理により、単一のジョブパイプラインで完全な処理フローを構築できます。 |
AI Function on GU | 組み込みの大規模言語モデル (LLM) とカスタムモデルをサポートします。GU リソースを使用して LLM 推論を行う AI Function API を呼び出すことができます。 | 構造化データ抽出、テキスト翻訳、データラベリング、画像分類、音声認識、ベクトル化などのバッチモデル推論シナリオ。 | Qwen3 や DeepSeek などの主流の LLM が組み込まれており、 |
OSS のマウントとアクセス | Object Storage Service (OSS) の直接マウントをサポートし、大量のデータの読み取り、書き込み、操作が可能です。 | マルチモーダルデータセットの読み込み。 | ダウンロードなしでの OSS のマウント、ストリーム読み取りをサポートし、標準のファイル API と互換性があります。 |
特定のシナリオ
apply および apply_chunk オペレーターの使用に関するベストプラクティス
メモリ不足 (OOM) エラーを防ぐために、データ量と利用可能なリソースに基づいてbatch_rows パラメーターを設定します。
機能説明
applyは、MaxFrame データフレームの行または列にカスタム関数を適用します。行全体または列全体に対するベクトル演算をサポートします。apply_chunkは MaxFrame によって提供される低レベル API です。MaxFrame DataFrame の各データチャンクにカスタム関数を並列に適用します。分散 DataFrame の物理シャードに対する直接的な操作を必要とする高度なシナリオに適しており、パフォーマンスの最適化やカスタムコンピューティングロジックのためによく使用されます。
シナリオ例
applyを使用して、電話番号のマスキングなど、フィールドの標準化を行います。apply_chunkを使用して、数百万のイメージパスを並列で処理し、メタデータを抽出します。
チュートリアル
MaxFrame GU リソースの使用
機能説明
複雑なデータ処理とジョブパイプラインでは、異なる計算ノードで CPU または GPU リソースが必要になることがよくあります。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
シナリオ説明:自然科学、歴史、技術などの分野の質問に答えます。多言語と複雑な推論をサポートします。
典型的なアプリケーション:
科学計算:
"地球と太陽の平均距離は?"歴史的イベント:
"アメリカ独立戦争は何年に始まりましたか?"技術原理:
"Transformer モデルのコアメカニズムは何ですか?"
テキスト翻訳
シナリオ説明:言語間でテキストを翻訳します。中英翻訳をサポートし、専門分野の用語にも対応します。
典型的なアプリケーション:
中国語から英語へ:
"How to relieve a headache?"→"How to relieve a headache?"法律/医療テキストの翻訳:
"患者は毎日アスピリンを1錠服用する必要があります。"
構造化データ抽出
シナリオ説明:非構造化テキストから主要なエンティティ、プロパティ、または関係を抽出します。
典型的なアプリケーション:
エンティティ抽出:
入力:
"iPhone 15 Pro は、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 Mount) を使用すると、MaxCompute の OSS ファイルにローカルディスクファイルのようにアクセスできます。これにより、開発効率が大幅に向上します。
シナリオ例
後続の処理のために、OSS バケットディレクトリ
oss://maxframe-datasets/images/をローカルの MaxCompute パス/data/imgsにマウントします。