Trellis Data Group Internship: Simplified AI Model Management and Orchestration System

6 May 2024

This position is offered through the ANU Computing Internship ([COMP3820] /[ COMP4820] / [COMP8830])

**Company**\

Trellis Data Group

Business Unit/Division: ML Research Labs

Trellis Data Group provides cutting-edge AI solutions deployed securely at the enterprise-level, specialising in knowledge mastery, transcription, translation, computer vision, and high-security deployment.

**Project **\

Overview:

The intern will develop a basic version of a system that handles the deployment, monitoring, and message management of Docker containers specifically tailored for AI model serving. This project will involve setting up a miniature environment that simulates handling of AI model containers and message passing between these containers across a simulated network.

Goals:

Develop a Miniature Docker Container Orchestrator:
Functionality: Start, stop, and schedule AI model containers (simulated environments) based on resource availability.
Resource Management: Monitor and manage virtualized resources like CPU and memory allocation for containers.
Health Checks: Implement health checks for each container to ensure they are functioning correctly.
UI Development: Create a basic user interface to show the status and management options for each container and resource.
Implement a Basic Message Management System Using RabbitMQ:
Message Routing: Set up RabbitMQ to handle message passing between containers, simulating the environment of AI model interaction.
Load Balancing: Develop simple algorithms for load balancing messages to optimize resource usage.
Message Adaptation: Implement basic message adaptation functions to simulate different data inputs and outputs between AI models.

Learning Objectives:
Gain hands-on experience with Docker and container orchestration.
Learn how to set up and use RabbitMQ for message passing in a distributed system.
Understand the basics of resource management in a server environment.
Develop a simple UI to interact with the system.

Weekly Breakdown:

Weeks 1-3: Research and planning phase. Learn the basics of Docker, RabbitMQ, and the specific needs for AI model serving.
Weeks 4-5: Setup Docker environment and start coding the basic orchestration functionalities.
Weeks 6-8: Develop the RabbitMQ message management component.
Weeks 9-10: Integrate both components and start initial testing.
Weeks 11-12: Develop the UI for the system.
Week 13: Final testing, debugging, and documentation.

Deliverables:

A functioning prototype of a Docker container orchestrator and message manager for AI models.
A simple UI for system management.
Final report detailing the design, implementation, and any testing results.
Presentation of the project to the mentor and/or team.

**Required technical skills**\

Docker: Familiarity with building, running, and managing Docker containers.
Docker Orchestration: Understanding of container orchestration concepts and potentially using tools like Docker Compose or Kubernetes (beneficial).
RabbitMQ: Knowledge of message queuing systems and experience working with RabbitMQ for message passing.
Programming Languages: Proficiency in a programming language suitable for building the system (Python, Go, Java are common choices).
Scripting: Ability to write scripts for automation tasks.
Basic Networking Concepts: Understanding of network communication and message routing principles.
UI Development (Frontend): Knowledge of web development frameworks (e.g., React, Angular) for building the UI (beneficial).

**Required professional/other skills**\

Research: Ability to independently research and learn new technical concepts (Docker, RabbitMQ, AI model serving).
Problem-solving: Skills to identify, analyze, and solve problems encountered during development.
Communication: Ability to clearly communicate technical concepts to both technical and non-technical audiences (written report, presentation).
Project Management: Basic project management skills to follow the provided weekly breakdown and meet deadlines.
Time Management: Ability to manage time effectively to complete tasks within the allocated timeframe.
Learning Agility: Willingness and ability to learn new technologies quickly.

** Special Requirements **\

Police check required.

**Delivery Mode**\

In-person internship.

**Location**
Canberra, ACT.

**Type of internship**\

Paid placement.

**How to apply**\

Applications are invited from students who have already passed the eligibility checks for the Computing Internship courses COMP3820 or COMP4820 or COMP8830. Further information about the Computing Internships can be found on the Computing Internship page.

You can nominate multiple preferred Internship projects and host organisations through the one application form.

The closing date for Expressions of Interest for internship projects is 19th May, 2024. Students who have passed the eligibility checks would have received the application form.

You are on Aboriginal land.

The Australian National University acknowledges, celebrates and pays our respects to the Ngunnawal and Ngambri people of the Canberra region and to all First Nations Australians on whose traditional lands we meet and work, and whose cultures are among the oldest continuing cultures in human history.

arrow-left bars search times arrow-up