From fa28563942aac6da696e96bb1af22547a3fcc8a8 Mon Sep 17 00:00:00 2001 From: Anthony Simonet-Boulogne Date: Fri, 14 Mar 2025 17:05:45 +0100 Subject: [PATCH 1/2] Adds AI Framework section --- .vitepress/sidebar.ts | 38 +++++++++++++++++++++ tools/ai-resources/frameworks/OpenVINO.md | 1 + tools/ai-resources/frameworks/PyTorch.md | 1 + tools/ai-resources/frameworks/TensorFlow.md | 1 + tools/ai-resources/frameworks/index.md | 1 + tools/ai-resources/getting-started.md | 5 +++ tools/ai-resources/iAppGenerator.md | 1 + tools/ai-resources/index.md | 2 ++ tools/ai-resources/tdx.md | 1 + 9 files changed, 51 insertions(+) create mode 100644 tools/ai-resources/frameworks/OpenVINO.md create mode 100644 tools/ai-resources/frameworks/PyTorch.md create mode 100644 tools/ai-resources/frameworks/TensorFlow.md create mode 100644 tools/ai-resources/frameworks/index.md create mode 100644 tools/ai-resources/getting-started.md create mode 100644 tools/ai-resources/iAppGenerator.md create mode 100644 tools/ai-resources/index.md create mode 100644 tools/ai-resources/tdx.md diff --git a/.vitepress/sidebar.ts b/.vitepress/sidebar.ts index fd261efd..f53ed6e5 100644 --- a/.vitepress/sidebar.ts +++ b/.vitepress/sidebar.ts @@ -59,6 +59,44 @@ export function getSidebar() { }, ], }, + { + text: '🧠  Resources for AI beta', + link: '/tools/ai-resources', + collapsed: false, + items: [ + { + text: 'Getting Started', + link: '/tools/ai-resources/getting-started', + }, + { + text: 'Supported AI frameworks', + link: '/tools/ai-resources/frameworks/', + collapsed: true, + items: [ + { + text: 'TensorFlow', + link: '/tools/ai-resources/frameworks/TensorFlow', + }, + { + text: 'PyTorch', + link: '/tools/ai-resources/frameworks/PyTorch', + }, + { + text: 'OpenVINO', + link: '/tools/ai-resources/frameworks/OpenVINO', + }, + ], + }, + { + text: 'iApp Generator templates', + link: '/tools/ai-resources/iAppGenerator', + }, + { + text: 'Intel TDX Workers', + link: '/tools/ai-resources/tdx', + }, + ] + }, { text: '🔐  DataProtector beta', link: '/tools/dataProtector', diff --git a/tools/ai-resources/frameworks/OpenVINO.md b/tools/ai-resources/frameworks/OpenVINO.md new file mode 100644 index 00000000..d52c598d --- /dev/null +++ b/tools/ai-resources/frameworks/OpenVINO.md @@ -0,0 +1 @@ +# OpenVINO on iExec \ No newline at end of file diff --git a/tools/ai-resources/frameworks/PyTorch.md b/tools/ai-resources/frameworks/PyTorch.md new file mode 100644 index 00000000..101db38e --- /dev/null +++ b/tools/ai-resources/frameworks/PyTorch.md @@ -0,0 +1 @@ +# PyTorch on iExec \ No newline at end of file diff --git a/tools/ai-resources/frameworks/TensorFlow.md b/tools/ai-resources/frameworks/TensorFlow.md new file mode 100644 index 00000000..9e4bb51f --- /dev/null +++ b/tools/ai-resources/frameworks/TensorFlow.md @@ -0,0 +1 @@ +# TensorFlow on iExec \ No newline at end of file diff --git a/tools/ai-resources/frameworks/index.md b/tools/ai-resources/frameworks/index.md new file mode 100644 index 00000000..c425d812 --- /dev/null +++ b/tools/ai-resources/frameworks/index.md @@ -0,0 +1 @@ +# Supported AI frameworks \ No newline at end of file diff --git a/tools/ai-resources/getting-started.md b/tools/ai-resources/getting-started.md new file mode 100644 index 00000000..0fca9c4a --- /dev/null +++ b/tools/ai-resources/getting-started.md @@ -0,0 +1,5 @@ +# 🧠 Getting started with AI on iExec + + + + diff --git a/tools/ai-resources/iAppGenerator.md b/tools/ai-resources/iAppGenerator.md new file mode 100644 index 00000000..88eb637f --- /dev/null +++ b/tools/ai-resources/iAppGenerator.md @@ -0,0 +1 @@ +# iApp Generator for AI \ No newline at end of file diff --git a/tools/ai-resources/index.md b/tools/ai-resources/index.md new file mode 100644 index 00000000..2e39d502 --- /dev/null +++ b/tools/ai-resources/index.md @@ -0,0 +1,2 @@ +# 🧠 Resources for AI + diff --git a/tools/ai-resources/tdx.md b/tools/ai-resources/tdx.md new file mode 100644 index 00000000..07bc453c --- /dev/null +++ b/tools/ai-resources/tdx.md @@ -0,0 +1 @@ +# TDX workers \ No newline at end of file From ea0b6ea24decf60dd629830201a42fc42d8870d7 Mon Sep 17 00:00:00 2001 From: Anthony Simonet-Boulogne Date: Fri, 4 Apr 2025 11:31:53 +0200 Subject: [PATCH 2/2] Update AI text & fromework template --- .vitepress/sidebar.ts | 4 ++ tools/ai-resources.md | 57 +++++++++++++++++++ tools/ai-resources/frameworks/PyTorch.md | 23 +++++++- tools/ai-resources/frameworks/index.md | 12 +++- tools/ai-resources/frameworks/scikit-learn.md | 31 ++++++++++ tools/ai-resources/getting-started.md | 19 +++++++ tools/ai-resources/index.md | 2 - 7 files changed, 144 insertions(+), 4 deletions(-) create mode 100644 tools/ai-resources.md create mode 100644 tools/ai-resources/frameworks/scikit-learn.md delete mode 100644 tools/ai-resources/index.md diff --git a/.vitepress/sidebar.ts b/.vitepress/sidebar.ts index f53ed6e5..32576bb5 100644 --- a/.vitepress/sidebar.ts +++ b/.vitepress/sidebar.ts @@ -73,6 +73,10 @@ export function getSidebar() { link: '/tools/ai-resources/frameworks/', collapsed: true, items: [ + { + text: 'scikit-learn', + link: '/tools/ai-resources/frameworks/scikit-learn', + }, { text: 'TensorFlow', link: '/tools/ai-resources/frameworks/TensorFlow', diff --git a/tools/ai-resources.md b/tools/ai-resources.md new file mode 100644 index 00000000..4d4b1414 --- /dev/null +++ b/tools/ai-resources.md @@ -0,0 +1,57 @@ +# 🧠 iExec for AI + + +The iExec Platforms delivers several tools specifically for AI developers. Here’s how iExec can help develop, deploy and execute confidential AI applications. + + + +## Confidential AI & Secure Compute Services + +iExec’s Confidential AI framework leverages Trusted Execution Environments (TEEs) such as Intel SGX and Intel TDX. This ensures: + +* Data privacy: AI computations are protected end-to-end. +* Secure AI training & inference: models & data are encrypted throughout processing; they can never be accessed by unauthorized entities. + + +## AI Monetization + +iExec provides all the tools to easily monetize your datasets, your models, your agents and your AI applications; encrypt it, push it, set a price and you’re done! The iExec Platform preserves the ownership of your digital assets: whatever +happens, your data, models and agents will always be yours! + + +## Decentralized & Scalable Computing + +iExec provides AI builders with a decentralized cloud computing infrastructure where they can access powerful +compute resources on-demand. Scale AI applications seamlessly, without dependency on centralized cloud providers +and ensure fair & transparent execution via blockchain-based verification. + + +## AI Agent & GenAI Trust Layer +iExec integrates automation tools such as the iApp Generator, allowing AI developers to: + +* Easily create trusted AI agents. +* Leverage secure off-chain AI execution while integrating with smart contracts. + + +## Web3 & Decentralized AI (DeAI) Integration + +iExec is positioned at the intersection of DePIN (Decentralized Physical Infrastructure Networks) and DeAI (Decentralized AI), allowing AI applications to: + +* Operate transparently in a trust-driven ecosystem. +* Utilize blockchain-based consensus for AI validation. + + +## Flexible Compute Resource Access + +Through worker pools, AI developers can: + +* Run AI workloads on decentralized hardware, including CPUs and GPUs. +* Access specialized computing resources, such as confidential GPUs for AI/ML model training. + +## Interoperability & Compatibility + +iExec supports: + +* Off-chain AI computation triggered by smart contracts. +* Seamless execution of existing AI workloads using Intel TDX, eliminating the need for application modification. + diff --git a/tools/ai-resources/frameworks/PyTorch.md b/tools/ai-resources/frameworks/PyTorch.md index 101db38e..7180df96 100644 --- a/tools/ai-resources/frameworks/PyTorch.md +++ b/tools/ai-resources/frameworks/PyTorch.md @@ -1 +1,22 @@ -# PyTorch on iExec \ No newline at end of file +# PyTorch on iExec + +PyTorch is an open-source machine learning framework originally developed by Meta AI and now +part of the Linux Foundation. PyTorch provides flexible and efficient tools for Tensor computing +and building and training neural networks that made it one of the most popular deep learning +frameworks. + +## Compatibility + +The table gives the PyTorch versions that have been tested on the iExec Platform, on the +SGX-based workerpools and on the experimental TDX workerpool. + +| | **v. 2.4** | **v. 1.12** | +| -------------- | -------------- | --------------- | +| **Scone-SGX** | | ❌ Unsupported | +| **TDX** | ✅ Supported | | + + +## Instructions + + +## Troubleshooting \ No newline at end of file diff --git a/tools/ai-resources/frameworks/index.md b/tools/ai-resources/frameworks/index.md index c425d812..5f16111e 100644 --- a/tools/ai-resources/frameworks/index.md +++ b/tools/ai-resources/frameworks/index.md @@ -1 +1,11 @@ -# Supported AI frameworks \ No newline at end of file +# Supported AI frameworks + +The iExec Platform supports the major runtime frameworks for AI; this page list those and provide important guidance on building and executing iApps based on them. + + +| Framework | SGX workerpool | TDX workerpool | +| ------------ | ------------------ | -------------- | +| PyTorch | ⚠️ Partial support | ✅ Supported | +| scikit-learn | ❌ Unsupported | ✅ Supported | +| Tensorflow | | | +| OpenVINO | | | diff --git a/tools/ai-resources/frameworks/scikit-learn.md b/tools/ai-resources/frameworks/scikit-learn.md new file mode 100644 index 00000000..a5540466 --- /dev/null +++ b/tools/ai-resources/frameworks/scikit-learn.md @@ -0,0 +1,31 @@ +# scikit-learn on iExec + +[Scikit-learn](https://scikit-learn.org/) is an open-source Python library that provides simple and efficient tools for data mining and machine learning, built on top of NumPy, SciPy, and matplotlib. It offers a wide range of algorithms for classification, regression, clustering, dimensionality reduction, and model selection. + +## Compatibility + +The table gives the scikit-learn versions that have been tested on the iExec Platform, on the +SGX-based workerpools and on the experimental TDX workerpool. + +| | **v. 1.6.1** | **v. 0.19** | +| -------------- | -------------- | --------------- | +| **Scone-SGX** | ❌ Unsupported | ❌ Unsupported | +| **TDX** | ✅ Supported | | + + +## Instructions + +When building a Docker image with scikit-learn, some low-level optimisations must be disabled or +they can lead to errors when the container runs on a slightly different architecture. + + +```dockerfile + +RUN pip install ... + +``` + + +## Troubleshooting + + diff --git a/tools/ai-resources/getting-started.md b/tools/ai-resources/getting-started.md index 0fca9c4a..6ac6b9a7 100644 --- a/tools/ai-resources/getting-started.md +++ b/tools/ai-resources/getting-started.md @@ -1,5 +1,24 @@ # 🧠 Getting started with AI on iExec +## Use-cases +### Protecting models + +### Protecting input data + + +### Protecting results + + +### Confidential & Trusted AI Agents + + +## AI Frameworks + + +## iApp Generator + + +## Intel TXD diff --git a/tools/ai-resources/index.md b/tools/ai-resources/index.md deleted file mode 100644 index 2e39d502..00000000 --- a/tools/ai-resources/index.md +++ /dev/null @@ -1,2 +0,0 @@ -# 🧠 Resources for AI -