[Step 6] Phase 1: Commit to Model

Ensure your Spectral account (Privy) has some Arbitrum ETH to be used as gas.

  • This can be done manually if you send some Arbitrum ETH to your Spectral account from another wallet that you control.

  • Optionally: Go to our Discord, find the faucet channel, and follow instructions to receive some free Arbitrum ETH to your Spectral account in a way that does not involve external transactions needed to be triggered by you.

First, retrieve your Spectral CLI wallet address:

spectral-cli show-wallet

Then link your local Spectral CLI wallet to your Spectral account by going to the My Profile > Manage Wallets section of Spectral App.

  1. Conceptually, this will generate a "merged wallet" (i.e. a multisig wallet) that represents both your Spectral account and your CLI wallet.

  2. Upon the multisig wallet generation, some funds will be transferred automatically from your Spectral account to your CLI wallet. While the reason is that your CLI wallet needs Arbitrum ETH as gas to initiate transactions later, we abstract this.

Submit model commitment (never the model itself)

Please refer to our Starter Kit to see how this can be done.

For those using Windows, running this step within the Starter Kit (!spectral-cli commit within a Jupyter notebook in its own browser terminal) is currently reported to be more stable.

To commit to your model, run the following:

spectral-cli commit <MODEL_PATH> <INPUT_JSON_PATH> <CHALLENGE_ID>

The INPUT_JSON_PATH here refers to a JSON list of the feature values that will be used to calibrate the corresponding zk-circuit of your ML model. This can either be a single set of feature values or multiple (all concatenated within a single list) but should resemble as closely as possible to the feature values that the model expects to receive in production. The better the zk-circuit is calibrated the lower will be the future quantization errors, albeit at the cost of higher compute and memory requirements, and longer proving times.

You have successfully committed to your trained ML model without revealing its proprietary methodologies.

Soon, you will receive (by running a command) your test set on which predictions must be made. Please proceed to the next step for instructions.

Last updated