H2O is an in-memory platform for distributed, scalable machine learning. H2O uses familiar interfaces like R, Python, Scala, Java, JSON and the Flow notebook/web interface, and works seamlessly with big data technologies like Hadoop and Spark.
This guide covers deploying the H2O-3 (the third incarnation of H2O, and the successor to H2O-2) open-source machine learning platform on the Akash network. We’ll use a sample SDL (Stack Definition Language) template and demonstrate deployment through both the Akash CLI and the Akash Console.
Prerequisites
Step 1: Sample SDL Template
The following SDL template defines the deployment of H2O-3:
Step 2: Deploy Using Akash CLI
- Create the Deployment
Save the above SDL template as deploy.yaml
. Run the following commands to deploy via the CLI:
- Bid on the Deployment
Fetch the deployment status:
Look for active bids and create a lease with:
- Access Your Deployment
Once the lease is active, query the lease status to find the assigned external IP:
Visit <assigned_IP
>:80 for the H2O API and <assigned_IP
>:443 for the web UI.
Step 3: Deploy Using Akash Console
-
Login:
- Visit Akash Console and log in using your Akash wallet.
-
Create Deployment:
- Navigate to “Deployments” and click “Create Deployment.”
- Upload the
deploy.yaml
file or paste the SDL directly.
-
Review and Submit:
- Review the SDL details.
- Submit the deployment and wait for bids.
-
Select a Bid:
- Once bids are available, select the most suitable provider based on pricing and region.
-
Access Your Deployment:
- After the lease is created, the provider will assign an external IP. Use this IP to access the H2O services.
Step 4: Testing and Validation
Additional Notes
- Ensure the
uakt
balance in your wallet can cover deployment and lease costs. - Adjust compute resources in the SDL file if H2O-3 requires more memory or CPU.
- Use SSL/TLS if deploying in production to secure the web interface.