Core Concepts
ブロックチェーン技術を利用することで、マシンラーニングモデルの計算結果の信頼性と透明性を確保できる。ML2SCは、PyTorchで記述されたマルチレイヤーパーセプトロンモデルをSolidityのスマートコントラクトに自動的に変換する。
Abstract
本研究では、ブロックチェーン上でマシンラーニングモデルを実行する手法を提案している。具体的には以下の3つの主要コンポーネントから成る。
ローカルマシンでのマルチレイヤーパーセプトロン(MLP)モデルの実装と学習
PyTorchからSolidityへの自動変換ツールML2SC
スマートコントラクト上でのモデルパラメータ(重みとバイアス)の読み込みと推論実行
ML2SCツールにより、PyTorchで記述されたMLPモデルをSolidityのスマートコントラクトに自動的に変換できる。スマートコントラクト上で推論を行う際は、高精度な固定小数点演算ライブラリPRBMathを使用することで、オフラインのPyTorch実装と同等の精度を実現している。
さらに、モデルのサイズ(層数、ニューロン数)に応じたスマートコントラクトのデプロイメントコストと推論コストの数式モデルを導出し、実験的に検証している。これにより、ブロックチェーン上でのマシンラーニングモデルの実装コストを事前に見積もることができる。
Stats
モデルのデプロイメントコストは以下の式で表される:
OD + (w -1) * (WD + CD + BD + SD) + (x -1) * ND
モデルのパラメータ(重みとバイアス)のアップロードコストは以下の式で表される:
OW + L * w + W * y + B * z
モデルの推論コストは以下の式で表される:
OC + R * (t -i) + E * t + LC * (w -1) + S
Quotes
"ブロックチェーン技術は、データと計算の透明性と改ざん耐性を提供するため、マシンラーニングモデルの信頼性を高めることができる。"
"ML2SCツールにより、PyTorchで記述されたMLPモデルをSolidityのスマートコントラクトに自動的に変換できる。"
"高精度な固定小数点演算ライブラリPRBMathを使用することで、オフラインのPyTorch実装と同等の推論精度を実現できる。"