Training Node
Last updated
Was this helpful?
Last updated
Was this helpful?
Training nodes are responsible for training and fine-tuning the AI tasks initiated by the task creators. This mechanism ensures the integrity and health of the ecosystem, as nodes have vested interests via staking. In return, the nodes will be rewarded in proportion to their contributions. To become a training node, a user has to stake FLOCK.
Put simply, a training node’s daily return from a task depends on three factors:
(1) the relative staking amount of this task against all tasks, meaning a training node’s stake in a particular task will indirectly affect it’s rewards from that task; and
(2) a training node’s stake in this task as well as stake delegated to this training node; and
(3) quality of the node’s submission, as shown by the node’s relative ranking. Specifically, it is a geometric series, along with its ranking, multiplied by the relative stake of this task.
It’s important to note that rank is being used here to determine the quality of the training node’s work, not other metrics such as absolute scores, primarily because scores can come very closely between nodes. Such design decision is believed to make reward calculation fairer and easier.
Calculation of reward distributions for training nodes follow a three-step formula:
Within a single AI Arena task, the reward distribution between training nodes and validators is determined based on their relative stake amounts.
We assume there are 𝑛 submissions from 𝑛 training nodes with stakes , and 𝑚 validators with stakes . Each validator evaluates the models submitted by the training nodes.
Let the total daily reward allocated to a task be denoted as and the parameter controls the split rewards, defining the balance between fixed and stake-dependent reward components.
The total rewards for training nodes are:
We can now compute the total rewards allocated for the training nodes as well as their delegators, which is based on the quality of their submission and their total amount of stake:
Let’s assume daily total rewards for all AI Arena tasks for a given day is 309,157.68. We have 1 task with 2 nodes and 3 validators.
First, for this given task, total rewards for *all* training nodes are:
We can then compute the rewards for *Node A and its delegators*. We are assuming that the scores for Node A and B are 0.501435 and 0.498565 respectively. Consider αt=1, rewards for Node A (together with delegators) are:
Finally, given 𝜎=0.4, the actual rewards for *Node A alone* is:
In which the total stake amount from the training node 𝑖 as well as its respective delegators, is the scores of the submitted models from training node, whereas denotes a given training node’s rank amongst its peers in the same task. On the other hand, is a system parameter that determines the influence of the stake on the reward distribution.
If a training node ’s stake in the task is and stakes delegated to training node is i.e. , in which refers to the effective delegation amount. Specifically, effective delegation amount adjusts how much of the delegated stake is actually counted (i.e., how “effective” it is) when computing node 's total stake . When , then the delegated stake is counted fully—delegations are treated just like the training node’s own stake. When , then the delegated stake is “discounted,” so training node only gets a fraction of when accounting for its total stake, and vice versa. Thus, the actual reward for training node is:
Note that in the front-end, you will see a “reward-sharing ratio”, which refers to , which means when reward-sharing ratio is 60%, is 0.4. This ratio is set by training nodes and validators permissionlessly.
Nodes A and B stake 3,000 and 3,500 FLOCK respectively, while validators A, B and C stake 3,000, 6,000 and 3,000 respectively. Node A also receives an additional 1,000 FLOCK from its delegators, which brings the (total stake including delegated stake) to be 4,000 for Node A. For simplicity, we assume to be 0 and to be in this example.