3
$\begingroup$

I am a strategy consultant, deeply interested in edge computing and distributed and decentralized systems.

In performing some analysis on current edge offerings, I am curious as to how ML and AI tools (like TensorFlow and DeepLearning4J) will integrate with AWS GreenGrass and Azure Edge. Say I want to deploy my IIOT solution on Azure, can I use Azure ML solutions and sit TensorFlow on top of it to coordinate the logic between programs in my system?

Am I incorrect in my thought that TensorFlow, Pytorch, ONNX, DeepLearning4J, and some others sit on top of native ML functions?

Cheers, Jack!

$\endgroup$
  • $\begingroup$ you might want to add the "software-evaluation" tag. $\endgroup$ – DukeZhou Jan 8 at 18:14
1
$\begingroup$

Interoperability at a high level is not standardized. As technology moves from the laboratory to monetized products and services, each company is developing its own high level strategy. At a lower level, the base standards upon which AI is developed and deployed rely on those used in data processing with few new additions thus far.

  • Serialized IEEE fixed and floating point arrays
  • CSV files
  • Tab-delimited files
  • JSON
  • XML conforming to a schema
  • Target specific executables
  • JVM bytecode
  • Various framework dependent ways of storing tensors

Communications between components are generally based on some protocol, including these.

  • RestFUL transactions using HTTPS client and server software
  • SOAP
  • MQTT — Message Queue Telemetry Transport is a lightweight messaging protocol for industrial and mobile applications.

Where full life cycle tooling provides for these standards and protocols, the documentation of the tool set will provide information on their use. Where they are lacking, custom software is developed in house. In more progressive corporations, the missing interoperability code, which used to be called glue code, is now more often open source projects.

The trick is to pick well maintained components, not only for run time but also for development time, for laboratory experimentation, and proof of concept work. These are the old names for the selected full life cycle components.

  • Tool chain
  • Technology stack

The description for the network of interoperable pieces in an efficient development, deployment, and continuous improvement system does not yet have a universal term. If a term were to be invented, its wording should feature the fact that AI engineers grab items as from the many drawers of a master machinist's tool chest and the fact that these tools interconnect in complex topological configurations in many cases. Consider these terms for development and run time respectively. They are descriptively accurate and hopefully something at least similar will gain acceptance.

  • Tool cluster
  • Component topology

What coordinates the logical, signal, and training parameter transmission between these tools and components are the transmission and transaction protocols and the directors, architects, and team leaders who work out how they will be used in the context of the products or services being developed. Although people have attempted to nail down development and productization processes in everything from cars to mobile applications, not everyone agrees to them, so there will probably remain a vast search space when putting together a technology based business and its selection of tools, methodologies, and intended product and service lines.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.