-
Notifications
You must be signed in to change notification settings - Fork 2
Feat: ai frameworks #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 5 commits
b279ccb
4024560
0beee8d
4d5fe8c
7b410f0
8a73d69
27c75d7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,175 @@ | ||
| --- | ||
| title: AI Framework Support | ||
| description: | ||
| Comprehensive guide to AI framework compatibility and support on the iExec | ||
| platform | ||
| --- | ||
|
|
||
| # 🤖 AI Framework Support | ||
|
|
||
| The iExec Platform provides comprehensive support for popular AI and machine | ||
| learning frameworks. Deploy your confidential AI applications with confidence | ||
| using our tested and optimized framework configurations, all running in secure | ||
|
Check warning on line 12 in src/protocol/ai.md
|
||
| Trusted Execution Environments (TEEs). | ||
|
Check notice on line 13 in src/protocol/ai.md
|
||
|
|
||
| ## 🚀 Quick Start | ||
|
|
||
| **Want to get started immediately?** | ||
|
|
||
| - 📚 | ||
| **[AI Frameworks Hello World](https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world)** - | ||
| Ready-to-use Docker examples for TensorFlow, PyTorch, and more | ||
| - 🛠️ **[Build & Deploy](/guides/build-iapp/build-&-deploy)** - General iApp | ||
| development guide (not AI-specific) | ||
|
Check notice on line 23 in src/protocol/ai.md
|
||
| - 🔬 | ||
| **[TDX App Guide](/guides/build-iapp/advanced/create-your-first-tdx-app)** - | ||
| Build TDX applications (works well for AI workloads) | ||
|
Check notice on line 26 in src/protocol/ai.md
|
||
|
|
||
| ## 🛡️ Why iExec for AI? | ||
|
|
||
| ### Confidential Computing | ||
|
Check warning on line 30 in src/protocol/ai.md
|
||
|
|
||
| Your AI models and data are protected end-to-end using Trusted Execution | ||
|
Check warning on line 32 in src/protocol/ai.md
|
||
| Environments (TEEs): | ||
|
Check notice on line 33 in src/protocol/ai.md
|
||
|
|
||
| - **Data Privacy**: AI computations are encrypted throughout processing | ||
|
Check notice on line 35 in src/protocol/ai.md
|
||
aimen-djari marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Secure Training & Inference**: Models and data can never be accessed by | ||
|
Check notice on line 36 in src/protocol/ai.md
|
||
| unauthorized entities | ||
| - **Hardware-Level Security**: Intel SGX and TDX provide military-grade | ||
|
Check failure on line 38 in src/protocol/ai.md
|
||
aimen-djari marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| protection | ||
|
|
||
| ### AI Monetization | ||
|
Check warning on line 41 in src/protocol/ai.md
|
||
|
|
||
| Monetize your AI assets easily and securely: | ||
|
|
||
| - **Datasets**: Encrypt and sell access to your training data | ||
| - **Models**: Deploy and monetize your trained AI models | ||
| - **Agents**: Create and sell AI agents and applications | ||
| - **Ownership Preserved**: Your digital assets always remain yours | ||
|
|
||
| ### Decentralized Infrastructure | ||
|
|
||
| Scale AI applications without centralized cloud dependencies: | ||
|
|
||
| - **On-Demand Compute**: Access powerful resources when you need them | ||
| - **Fair Pricing**: Transparent, blockchain-verified execution costs | ||
aimen-djari marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Global Network**: Deploy across a worldwide network of secure workers | ||
|
|
||
| ## 🤖 AI Framework Support | ||
|
|
||
| ### Overview | ||
|
|
||
| | Framework | TDX Support | SGX Support | Best For | | ||
|
Check notice on line 62 in src/protocol/ai.md
|
||
| | ---------------- | --------------- | --------------- | ----------------------------- | | ||
| | **TensorFlow** | ✅ Yes (3.01GB) | ❌ No | Deep learning, production ML | | ||
|
Check notice on line 64 in src/protocol/ai.md
|
||
| | **PyTorch** | ✅ Yes (6.44GB) | ❌ No | Research, computer vision | | ||
|
Check notice on line 65 in src/protocol/ai.md
|
||
| | **Scikit-learn** | ✅ Yes (1.18GB) | ✅ Yes (1.01GB) | Traditional ML, data analysis | | ||
|
Check notice on line 66 in src/protocol/ai.md
|
||
| | **OpenVINO** | ✅ Yes (1.82GB) | ❌ No | Computer vision, inference | | ||
|
Check notice on line 67 in src/protocol/ai.md
|
||
| | **NumPy** | ✅ Yes (1.25GB) | ✅ Yes (1.08GB) | Scientific computing | | ||
|
Check notice on line 68 in src/protocol/ai.md
|
||
| | **Matplotlib** | ✅ Yes (1.25GB) | ✅ Yes (1.08GB) | Data visualization | | ||
|
Check failure on line 69 in src/protocol/ai.md
|
||
|
|
||
| ### Framework Details | ||
|
Check warning on line 71 in src/protocol/ai.md
|
||
|
|
||
| | Framework | Version | Description | TDX Support | SGX Support | Use Cases | Resources | | ||
|
Check notice on line 73 in src/protocol/ai.md
|
||
| | ---------------- | ----------- | --------------------------------------------- | ----------- | ------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ||
| | **TensorFlow** | 2.19.0 | Google's ML framework for production AI | ✅ 3.01GB | ❌ Too large | Deep learning, CV, NLP | [Docs](https://www.tensorflow.org/) • [Quickstart](https://www.tensorflow.org/tutorials/quickstart/beginner) • [Docker](https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world/tree/main/tensorflow) | | ||
|
Check failure on line 75 in src/protocol/ai.md
|
||
| | **PyTorch** | 2.7.0+cu126 | Facebook's research-focused DL framework | ✅ 6.44GB | ❌ Too large | Research, DL, CV, NLP | [Docs](https://pytorch.org/docs/) • [Quickstart](https://docs.pytorch.org/tutorials/beginner/basics/quickstart_tutorial.html) • [Docker](https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world/tree/main/pytorch) | | ||
|
Check failure on line 76 in src/protocol/ai.md
|
||
| | **Scikit-learn** | 1.6.1 | Comprehensive ML library for Python | ✅ 1.18GB | ✅ 1.01GB | Classification, regression, clustering | [Docs](https://scikit-learn.org/stable/) • [Examples](https://scikit-learn.org/stable/auto_examples/index.html) • [Docker](https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world/tree/main/scikit) | | ||
|
Check failure on line 77 in src/protocol/ai.md
|
||
| | **OpenVINO** | 2024.6.0 | Intel's high-performance AI inference toolkit | ✅ 1.82GB | ❌ Execution issues | Computer vision, inference | [Docs](https://docs.openvino.ai/) • [Tutorial](https://docs.openvino.ai/2023.3/notebooks/004-hello-detection-with-output.html) • [Docker](https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world/tree/main/openvino) | | ||
|
Check failure on line 78 in src/protocol/ai.md
|
||
| | **NumPy** | 2.0.2 | Fundamental package for scientific computing | ✅ 1.25GB | ✅ 1.08GB | Scientific computing, data analysis | [Docs](https://numpy.org/doc/) • [User Guide](https://numpy.org/doc/stable/user/index.html) • [Docker](https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world/tree/main/numpy) | | ||
|
Check failure on line 79 in src/protocol/ai.md
|
||
| | **Matplotlib** | 3.9.4 | Comprehensive library for data visualization | ✅ 1.25GB | ✅ 1.08GB | Data visualization, plotting | [Docs](https://matplotlib.org/) • [Gallery](https://matplotlib.org/stable/gallery/index.html) • [Docker](https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world/tree/main/matplotlib) | | ||
|
Check failure on line 80 in src/protocol/ai.md
|
||
|
|
||
| ## 🐳 Getting Started with Docker Examples | ||
|
|
||
| ### What's Included | ||
|
|
||
| Our | ||
|
Check warning on line 86 in src/protocol/ai.md
|
||
| [AI Frameworks Hello World repository](https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world) | ||
| provides ready-to-use examples: | ||
|
|
||
| ``` | ||
| ai-frameworks-hello-world/ | ||
| ├── tensorflow/ # TensorFlow 2.19.0 example | ||
| ├── pytorch/ # PyTorch 2.7.0+cu126 example | ||
| ├── scikit/ # Scikit-learn 1.6.1 example | ||
| ├── openvino/ # OpenVINO 2024.6.0 example | ||
| ├── numpy/ # NumPy 2.0.2 example | ||
| └── matplotlib/ # Matplotlib 3.9.4 example | ||
| ``` | ||
|
|
||
| ### Quick Start Commands | ||
|
Check warning on line 100 in src/protocol/ai.md
|
||
|
|
||
| ```bash | ||
| # Clone the repository | ||
| git clone https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world.git | ||
| cd ai-frameworks-hello-world | ||
|
|
||
| # Try TensorFlow example | ||
| cd tensorflow | ||
| docker build -t hello-tensorflow . | ||
| docker run --rm hello-tensorflow | ||
|
|
||
| # Try PyTorch example | ||
| cd ../pytorch | ||
| docker build -t hello-pytorch . | ||
| docker run --rm hello-pytorch | ||
| ``` | ||
|
|
||
| ### Features | ||
|
|
||
| - **✅ Isolated Testing**: Each framework runs in its own container | ||
| - **✅ Reproducible**: Consistent environment across systems | ||
| - **✅ TDX Ready**: All containers tested for Intel TDX compatibility | ||
|
Check notice on line 122 in src/protocol/ai.md
|
||
| - **✅ Easy Deployment**: Simple build and run commands | ||
|
|
||
| ## 📊 Technology Comparison | ||
|
|
||
| ### TDX vs SGX for AI | ||
|
Check notice on line 127 in src/protocol/ai.md
|
||
|
|
||
| | Feature | Intel TDX | Intel SGX | | ||
|
Check failure on line 129 in src/protocol/ai.md
|
||
| | --------------------- | -------------------------- | ---------------------------------- | | ||
| | **Memory Limit** | Multi-GB+ | ~1.95GB | | ||
|
Check failure on line 131 in src/protocol/ai.md
|
||
| | **Framework Support** | All major frameworks | Limited (Scikit-learn, NumPy) | | ||
|
Check notice on line 132 in src/protocol/ai.md
|
||
| | **Code Changes** | Minimal ("lift and shift") | Significant modifications required | | ||
|
Check notice on line 133 in src/protocol/ai.md
|
||
| | **Production Ready** | ✅ Yes | ⚠️ Limited | | ||
| | **AI Workloads** | ✅ Excellent | ❌ Restricted | | ||
|
|
||
| ### Recommendations | ||
|
|
||
| #### For Production AI Applications | ||
|
Check warning on line 139 in src/protocol/ai.md
|
||
|
|
||
| - **Use TDX** for TensorFlow, PyTorch, and OpenVINO | ||
|
Check notice on line 141 in src/protocol/ai.md
|
||
| - **Use SGX** for lightweight ML with Scikit-learn and NumPy | ||
|
Check notice on line 142 in src/protocol/ai.md
|
||
|
|
||
| #### For Development and Testing | ||
|
Check warning on line 144 in src/protocol/ai.md
|
||
aimen-djari marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| - **Start with SGX** for simple ML tasks | ||
|
Check notice on line 146 in src/protocol/ai.md
|
||
| - **Migrate to TDX** for complex AI workloads | ||
|
Check notice on line 147 in src/protocol/ai.md
|
||
|
|
||
| ## 📚 Next Steps | ||
|
|
||
| ### Learn TEE Technologies | ||
|
Check warning on line 151 in src/protocol/ai.md
|
||
aimen-djari marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| - **[Intel SGX Technology](/get-started/protocol/tee/intel-sgx)** - SGX | ||
|
Check failure on line 153 in src/protocol/ai.md
|
||
| limitations and capabilities | ||
| - **[Intel TDX Technology](/get-started/protocol/tee/intel-tdx)** - TDX | ||
|
Check failure on line 155 in src/protocol/ai.md
|
||
| advantages for AI | ||
| - **[SGX vs TDX Comparison](/get-started/protocol/tee/sgx-vs-tdx)** - Detailed | ||
|
Check notice on line 157 in src/protocol/ai.md
|
||
| comparison | ||
|
|
||
| ### Build AI Applications | ||
|
Check warning on line 160 in src/protocol/ai.md
|
||
|
|
||
| - **[Build & Deploy](/guides/build-iapp/build-&-deploy)** - Create your first AI | ||
| application | ||
|
Check warning on line 163 in src/protocol/ai.md
|
||
| - **[Build Intel TDX App](/guides/build-iapp/advanced/create-your-first-tdx-app)** - | ||
|
Check failure on line 164 in src/protocol/ai.md
|
||
| TDX applications for AI workloads | ||
|
Check notice on line 165 in src/protocol/ai.md
|
||
| - **[Inputs and Outputs](/guides/build-iapp/inputs-and-outputs)** - Handle data | ||
| flow in TEE environment | ||
|
Check notice on line 167 in src/protocol/ai.md
|
||
|
|
||
| ### Explore Examples | ||
|
Check warning on line 169 in src/protocol/ai.md
|
||
|
|
||
| - **[AI Frameworks Hello World](https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world)** - | ||
| Ready-to-use Docker examples | ||
| - **[iExec Discord](https://discord.com/invite/pbt9m98wnU)** - Community support | ||
| - **[Protocol Documentation](https://protocol.docs.iex.ec)** - Technical deep | ||
| dive | ||
Uh oh!
There was an error while loading. Please reload this page.