Databricks Certified Generative AI Engineer Associate 無料問題 8 / 10 ・ 分野4: Assembling and Deploying Applications
前処理と後処理を持つチェーンを、MLflow の PythonModel のサブクラスとして書き、独自の pyfunc モデルとして記録する。Model Serving に独自の Python コードを置く頁が、任意の Python のコードを MLflow で包むときに必須とする関数の組はどれか。
- load_context・predict・format_inputs の3つ
- load_context と predict の2つ
- __init__ と predict の2つ
- predict と format_outputs の2つ
正解と解説を見る
正解: B
正解の理由
Model Serving に独自の Python コードを置く頁は、MLflow のカスタムの Python モデルの形で任意の Python のコードを包むとき、必須の関数は2つで、load_context と predict だと書いている。load_context には、モデルが動くために1回だけ読み込めばよいもの(モデルの重みやトークナイザーなど)を書く。こうすると predict の中で読み込む成果物の数が減り、推論が速くなる、と文書は理由を添えている。predict には、入力の要求が来るたびに走る処理をすべて書く。前処理と後処理も、predict の中から呼ぶ形で書けばよい。
違う選択肢
「__init__ と predict の2つ」… 文書が必須として挙げる2つの関数に、__init__ は入っていない。一度だけ読み込むものを置く場所として文書が名指ししているのは load_context で、文書の例はモデルの重みやトークナイザーを context.artifacts から読み込んでいる。
「predict と format_outputs の2つ」… format_outputs は、文書の例で作者が出力を整えるために足した補助の関数で、MLflow が求める関数ではない。必須の2つは load_context と predict で、後処理は predict の中から呼ぶ。
「load_context・predict・format_inputs の3つ」… format_inputs も、文書の例で入力を整えるために足した補助の関数である。例の predict はこれを最初に呼んでいるが、必須の関数として挙がっているのは load_context と predict の2つだけである。
押さえどころ
文書の例は、load_context で context.artifacts からモデルの重みとトークナイザーを読み込み、predict の中で format_inputs、モデルの predict、format_outputs の順に呼んでいる。重みを predict の中で読み込むと要求のたびに読み込みが走り、文書が load_context に一度だけの読み込みを任せる理由(推論を速くする)に反する。
Databricks Certified Generative AI Engineer Associateの演習アプリ(無料10問・全問は解錠で)へ