oneAPI 1.3 暫定仕様書 Rev. 1 の解説 (35)

その他

この記事は、https://www.oneapi.io/spec/ で 2023年9月14日に公開された『oneAPI 1.3 Provisional Specification Rev. 1』 (HTMLPDF) をベースにしています。原文は2000 ページ近くあり、翻訳の時間とリソースも限られるため、全文翻訳ではなく、記事形式で区切った仕様とその解説を提供することにしました。


この回では、『oneAPI 1.3 Provisional Specification Rev. 1』の「oneDAL」の「Mathematical Notations」と「Programming model」の節を取り上げています。

数学表記


プログラミング・モデル

oneDAL は主にデータ解析で広く利用されるアルゴリズムを対象とします。これらのアルゴリズムには、通常、多くのパラメーター (内部動作と結果を制御する) があります。マシンラーニングでは、これらのパラメーターは、トレーニング中に学習されたモデル・パラメーターと区別するため、メタ・パラメーターと呼ばれることがあります。いくつかのアルゴリズム (英語) は、多くのメタ・パラメーターを定義していますが、ほかのアルゴリズムに依存するアルゴリズムもあります。例えば、ロジスティック回帰のトレーニング手順は最適化アルゴリズムに依存します。

メタ・パラメーターに加えて、マシンラーニング・アルゴリズムには、トレーニングや推論など、さまざまなステージがあります。さらに、アルゴリズムのステージはさまざまな計算方法で実装できます。例えば、線形回帰モデルは連立一次方程式を解く [Friedman17] (英語)、または反復最適化ソルバーを経験値リスク関数に直接適用することでトレーニングできます [Zhang04] (英語)。

さまざまなタイプの問題解決に同じマシンラーニング手法が利用されることがよくあります。例えば、線形回帰では回帰問題の解決に使用される数学モデルが、ロジスティック回帰などの分類の解決にも一般化されます。このような手法は、問題固有のいくつかの面で異なりますが、同じメタ・パラメーターのサブセットを共有し、共通の計算フローを持ちます。oneDAL では、これらの手法を異なるアルゴリズムとは見なしません。それに代わり、oneDAL は同じアルゴリズムが異なる計算タスクを実行することがあります。

計算の面では、アルゴリズムの実装は floatdouble、または bfloat16 などの浮動小数点データタイプに依存する場合があります。精度の要件はワークロードによって異なるため、必要とするタイプを指定する機能を持つことはエンドユーザーから見れば重要です。

この課題に取り組むため、アルゴリズムは記述子と操作に分解されます。

  • エンドツーエンドの例
  • 記述子
    • 浮動小数点タイプ
    • 計算メソッド
    • 計算タスク
  • 操作
    • 一般操作の定義
    • 操作の短縮形
    • 入力
    • 結果
    • サポートされる操作
  • 計算モード
    • バッチ
    • オンライン
    • 分散

法務上の注意書き

The content of this oneAPI Specification is licensed under the Creative Commons Attribution 4.0 International License (英語). Unless stated otherwise, the sample code examples in this document are released to you under the MIT license (英語).

This specification is a continuation of Intel’s decades-long history of working with standards groups and industry/academia initiatives such as The Khronos Group*, to create and define specifications in an open and fair process to achieve interoperability and interchangeability. oneAPI is intended to be an open specification and we encourage you to help us make it better. Your feedback is optional, but to enable Intel to incorporate any feedback you may provide to this specification, and to further upstream your feedback to other standards bodies, including The Khronos Group SYCL* specification, please submit your feedback under the terms and conditions below. Any contribution of your feedback to the oneAPI Specification does not prohibit you from also contributing your feedback directly to other standard bodies, including The Khronos Group under their respective submission policies.

By opening an issue, providing feedback, or otherwise contributing to the specification, you agree that Intel will be free to use, disclose, reproduce, modify, license, or otherwise distribute your feedback at its sole discretion without any obligations or restrictions of any kind, including without limitation, intellectual property rights or licensing obligations.

This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice.

© Intel Corporation. Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。

* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

« パート 34        目次        パート 36 »
タイトルとURLをコピーしました