ルール(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クライアントに設定する設定情報は以下の通りです。
EmethCoreコントラクト
(emethConttactAddress).
|
0x9960CE7d1eff7a33F5D57529552549D05b25570a |
EMTトークンコントラクト
(tokenContractAddress)
|
0x3b384C60Fc840E70811dA26449fc47BCb0F07BcC |
Storage API
(storageApi)
|
|
JOB情報サーバ API
(info_server_url)
|
http://ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com:3000 |
RPCエンドポイント
(endpoint)
|
|
学習epoch数
(n_epoch)
|
>=30 (R3-2のVerify条件は30以上。それより大きくする必要はない) |
ネットワーク情報
Emethネットワークの設定情報です。
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です。