---
# System prepended metadata

title: Daily Note 06/07/2020
tags: [O-RAN, Daily Notes, Acumos]

---

# Daily Note 06/07/2020
###### tags: `Daily Notes` , `Acumos` , `O-RAN`
## Name : Christofel Rio Goenawan
## University : Bandung Institute of Technology (ITB)


---

## Schedule:
1. Study more detailed how Acumos AI works.
2. Read explanation about Acumos Architecture from paper.
3. Study more detailed how O- RAN utilizes Acums AI as xApp.
## Outcome : 
1. Explain characteristics and detailed work of Acumos AI.
2. Explain Acumos AI architecture components.
3. Explain Acumos AI as xApp in O- RAN architecture.
## Further Plan : 
- Understand detailed works of Acumos AI as xApp in O- RAN.
- Understand how to install Acumos AI in linux.


---

## Daily Log

### 1. Study more detailed how Acumos AI works. <mark>(9.00)</mark>
- Write detailed characteristics of Acumos AI Platform from [video conference](https://www.youtube.com/watch?v=zvBpsbE-0fQ) and [introduction](https://youtu.be/YKrB3AKd_5Y)
- Write detailed works of Acumos AI Platform from some resources.

### 2. Read explanation about Acumos Architecture. <mark>(12.30)</mark>
- Write detailed explanation of Acumos AI Architectures by reading [Zhui Sao's Paper](https://drive.google.com/file/d/1zKe5CBkIy35jH2PFl2hngqndKHMbpmjo/view?usp=sharing).

### 3. Study more detailed how O- RAN utilizes Acums AI as xApp. <mark>(15.30)</mark>
- Watch detailed explanation video in [reference [2]](https://drive.google.com/file/d/1aBP0IMIXiSXIw2nT3Q9K-AaImHEixSID/view?usp=sharing).
- Learn deeper detailed from pre- internship notes.



---

## Report
### 1. How Acumos AI works?

> In this note writer explain detailed works of Acumos AI platform than pre- internship notes. The notes can be seen [here](https://hackmd.io/@christofel04/NTUST_Acumos_week_note_2)


#### Why using Acumos ?
The improvement of Machine Learning and Artificial Intelligence have been so tremendous and touch wide scope of area. But there are 4 difficulty that still prevent AI and ML area to be developed.

1. Lack of a **Unified framework** for AI and **common ecosystem**.
2. Commercial AI development are only covered ***old- time projects*** as image processing , speech processig , etc that have been developed since 30 years ago.
3. No **critical mass** in areas of AI for communication and networking.
4. Deployment of AI systems remain **difficult**.

The tradional AI deployments have a lot of limitation because of **fragmentation and interoperability**. The traditional AI deployment scheme can be shown as below.

![](https://i.imgur.com/PJQYvBL.png)

So the Acumos AI platform aims to make **interchangeable model** from each other to **reducing time and cost** needed to make a brand new model. Then we could also **on-board our model** and train it with another dataset from our own, datamarket place,etc. The model then stored as some simple **microservices** that is interoperable to be combined to make a more complex system of AI/ML Model. 

From video conference in reference [3] , there are 4 main objectives of Acumos AI platform that is **Common Open Source Framework to AI, Distributed AI Marketplace , Interoperable Microservices , and Ecosystem to Expendite Innovation** .

![](https://i.imgur.com/6doczi7.png)


<br>
#### Why using Microservices ?
![](https://i.imgur.com/T0sTM3q.jpg)

#### User Flow on Acumos Platform
The user flow of Acumos Platform can be shown as below.

![](https://i.imgur.com/I9EF4F7.png)

First the AI/ML modeller who make AI/ML using different tools like tensorflow, scikit-learn, etc, on-boarded the model to the platform as a microservices. It will be stored in **microservice repository**. Then the model in microservices can be used together as one complex model to do some complex works. Then the complex model will be validated by operator, and stored in marketplace so other people can use that complex models.

#### How Acumos Platform Works?
As explained above, first  the AI/ML modeller who make AI/ML using different tools on-boarded the model to the platform as a microservices. Then it will be stored in microservice repository. Then the model in microservices can be used together as one complex model to do some complex works. Abd the complex model will be validated and stored in marketplace so other people can use that complex models. The simple workflow can be seen as below.

![](https://i.imgur.com/JqsbRUr.png)


The detailed Acumos AI workflow can be seen as below.

![](https://i.imgur.com/uUzz1T5.png)



### 2. How is Acumos AI Architectures ?
The simple architecture component of Acumos AI platform can be shown as diagram below.

![](https://i.imgur.com/bCe2LVj.png)

First the user get microservices AI/ML model from public marketplace or community marketplace, that is special marketplace for some certain people. Then the microservices implemented on Apps that will used the AI/ML model based by Acumos Platform. The Acumos Platform itself lied upon **CI/CD platform** ( ex: Jenkins, CircleCI, etc ) that run on **Runtime Platforms** ( ex : Docker, Kubernetes, Openstack , etc), that utilized in **AI/ML-supported  infrastructures** as AWS, Microsoft Azure, etc.

From Zhui Sao's paper, the main component architecture of Acumos AI Platform can be classify as 3 component, that is **Model Interfaces Unification , Model Serialization and Microservice Generation and Deployment**.

1. **Model Interfaces Uniﬁcation** 
Acumos has its drag-and-drop design studio. In order to be able to safely reuse and compose models together, we need to understand and describe the interfaces (i.e., input and output) of models. Acumos uses Protocol Buffers8 to offer cross-language and cross-platform support. Protocol Buffers are used for serializing the training and test data for transfer between local clients and services, and between services. The largest advantage of protocol buffers is that it is compact and efﬁcient compared to XML-like schemes, with the ability to process large volume of data.

2. **Model Serialization**
When uploading models, the Acumos API need to serialize the model locally and then deserialize it within the Acumos platform. The most challenging is understanding the model’s software dependencies. Acumos does not require users to manually provide a dependency list instead we introspect models to infer these dependencies. In the Python client library, we traverse the object during serialization and then identify and record required libraries. Additionally, we use static analysis techniques to inspect the source code and ﬁnd required modules. 

3.  **Microservice Generation and Deployment** 
The Acumos platform then packs the model into a Docker image which can be deployed to an appropriate environment. The Docker image is stored in the Acumos database. An end user is then able to download the Docker image and start the Dockerized model service. The he can utilize that microservice to his own apps. The ﬁnal step is to deploy a working application into a runtime system. Then Acumos packages solutions into Docker images which can then be deployed into any Docker environment and managed through a set of container management tools, such as Kubernetes and Openstack . Such image ﬁles can be easily deployed to AI/ML support infrastructures as Google Cloud, Azure, AWS, or other popular cloud services, to any corporate data center or any real-time environment that supports Docker. Then the application developers can connect to the Dockerized microservice via a REST API. 



### 3. Acumos AI as xApp in O- RAN Architectures.
One of the most simple way to utilize Acumos AI in O- RAN architectures are by 2 simple way.
1. Import an Acumos model into RIC (near-real time) and adapt it into as an xApp .
2. Deploy Acumos models as is into non-real time (mostly on ONAP side).

The utilization can be shown as simple diagram below.

![](https://i.imgur.com/rufxAl7.jpg)

First we build a standard xApp/Acumos microservice adapter deployed with the Acumos AI/ML model in one Kubernetes Pod. Then adapter speak to near- RT RIC using RMR protocol , and communicate with AI/ML model in http/ GRPC protocol. Then create a configuration to tell adapter how to speak with Acumos ML model. The configuration can be auto generated using ML model protobuf definition. Then the Acumos AI/ML model will run as xApp in near-RT Model.

The full model cycle can be shown as below.

![](https://i.imgur.com/2oAuLb1.png)

:::info
**Next Writer will try to learn from another resources about deploying Acumos AI Platform as xApp in O- RAN.**
:::



---

## Reference
1. https://drive.google.com/file/d/1zKe5CBkIy35jH2PFl2hngqndKHMbpmjo/view?usp=sharing
2. https://drive.google.com/file/d/1aBP0IMIXiSXIw2nT3Q9K-AaImHEixSID/view?usp=sharing
3. https://www.youtube.com/watch?v=zvBpsbE-0fQ
4. https://youtu.be/YKrB3AKd_5Y
