The Problem: AI ran as smart contracts on ICP is limiting which currently prevents it’s application to real world use cases.
Maybe Solution: Separate the AI into subnets where computation is split in different spaces (smart contracts/canisters) and be connected via smart contracts. Lots of simple, small AI models can be connected via smart contract channels. Input data filtered through lots of small specialised AI’s that can send outputs to the relevant next step of computation hosted in a new/different space (smart contract/canister).
This allows AI to have it’s computation done in different areas that are optimised for the task and it reduces the computational dependency on a single, central AI model.
So input data is received and then a smart contract (blue) can read the data and choose where to send parts of it for optimal computation to individual specialised AI subnets. Data can be split up within subnets again if needed, and some subnets maybe need to combine their outputs to create a shared output. Once all subnets have computed an output, then it can be collected and formatted into a group final output.
Share the computation baby.
This can help AI in lots of ways. For example you can combine different types of AI models like speech to text, image classification, analyse of text etc (video audio recording as input data). Or you can optimise 1 task neural networks like image classification. For example each layer of image classification can be done in it’s own smart contract/ canister (space) and then 1 layers outputs can be sent to the next layer as an input via an on-chain smart contract. Maybe we can combine this idea to help INN?
Also another idea is by splitting up an image classifying AI into a collective formed from hyper specialised AI. For example - an image classification model built for human faces, animal type, weather type, plant type, text/handwriting reader etc. Then an image classification AI can be the collective of specialised subnets. This should all be opensource and people can choose which AI models they want and make their own tailored collective AI with desired relevant subnets.
Specialised AI as interopable subnets makes customisable AI. This has many use cases and can allow users to build their AI as aligned to their needs as possible whilst having the security of AI being ran as a smart contract
TLDR: AI computation can be separated for optimal computation. AI stays on chain, AI can be split up into to smaller simpler tasks to manage the limitations of AI on ICP. Then the smaller outputs can be group and fed through more layers of AI to build collective outputs.
PS. I am not a developer and cannot code my knowledge has many gaps. All criticism is welcome and appreciated.