ルール(Round 3-2)

Opening Phase Round3-2でのネットワークのルールを説明します。

【要注意】 pythonは3.8.10のサポートになりました。 またpip3とnpmのライブラリを最新にする必要があります

$ npm i
$ cd parallelGPT
$ pip3 -r install requirementgpu.txt

Round 3-2 アップデート

完了JOBのVerification方式の変更

難読化した情報によるVerificationを行う方式になりました。

GPT-2 日本語データセット対応

GPT-2アルゴリズムではこれまで英語データセットのみ対応していましたが、日本語データセットでの学習に対応しました。

日本語データセットのJOB追加

投入されるJOBも日本語データセットのものが追加されました。

小さなデータサイズのJOBを追加

Round 3では大きなデータサイズのJOBが追加されましたが、3-2では小さなデータサイズのJOBが追加されました。

モデルデータのキャッシュ容量設定

モデルデータはVerificationの完了まではマシン内に保存されています。JOBを高速に処理する場合、このモデルデータのキャッシュが ディスク容量を圧迫する場合があります。そこで、configにて最大容量を設定できるようになりました。


設定情報

Emethクライアントに設定する設定情報は以下の通りです。

Round 3-2 設定情報
EmethCoreコントラクト
(emethConttactAddress).

0x9960CE7d1eff7a33F5D57529552549D05b25570a

EMTトークンコントラクト
(tokenContractAddress)

0x3b384C60Fc840E70811dA26449fc47BCb0F07BcC

Storage API
(storageApi)

https://emeth-storage.testnet.alt.ai

JOB情報サーバ API
(info_server_url)

http://ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com:3000

RPCエンドポイント
(endpoint)

https://testnet.alt.ai

学習epoch数
(n_epoch)

>=30 (R3-2のVerify条件は30以上。それより大きくする必要はない)


ネットワーク情報

Emethネットワークの設定情報です。

Round 3-2 ネットワーク情報

Verifier fee

10 EMT / JOB

Verify成功時にJOBの持つTransaction Feeから、失敗時にはノードのDepositから徴収されます

Deposit係数

100% of transaction gas

ノードのattachに必要なDeposit量。JOBのgasに対する係数

Timeoutペナルティ

25% of deposit

引き受けたJOBがTimeoutした際にdepositから差し引かれるペナルティ

Declineペナルティ

25% of deposit

引き受けたJOBをdeclineによってキャンセルした際にdepositから差し引かれるペナルティ

Failedペナルティ

25% of deposit

引き受けたJOBがVerifierによって拒否された際にdepositから差し引かれるペナルティ


JOBの割当

※Round 3から、Emeth Coreコントラクトにノードをattachする必要がなくなりました。

Emethノード(masterと最低1つのworker)を起動すると、現在ネットワーク上にリクエストされているJOBの中から制限時間以内に処理可能なものを探します。 (この際、JOB情報サーバAPIがその補助を行います)

見つけたJOBに対して、その想定学習コストに応じて決定されるgasが設定されており、gasに応じたdeposit(EMT)を預け入れることでJOBを引き受けます。

JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。

最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。


計算結果の検査

ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間は、対象JOBのアルゴリズム、パラメータ、データセットサイズ、マシンスペック、configのパラメータによって変わります。

計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果プロセスの検査が行われ、十分な計算がなされたかどうか判定されます。

検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。


1日あたりの処理上限

Round3から、上限は撤廃されました。 日が変わるとシェアの計算はリセットされ、シェアに応じたEMTトークンの報酬が確定します。 1日の起点はUTC 0:00です。