Skip to main content

Introduction

In the RunGen.AI platform, two fundamental entities—Apps and Jobs—serve as the building blocks for deploying and executing machine learning tasks. This section provides a comprehensive overview of these concepts to help users understand their roles and how they interact within the RunGen.AI ecosystem.


What is an App?

An App in RunGen.AI is a configurable deployment unit that represents a specific machine learning workflow or task. It encapsulates all the essential details, such as the model to be used, the type of GPU required, and workflow configurations. Apps serve as reusable and managed endpoints that users can call to execute machine learning tasks, such as image generation, data inference, or custom AI operations.

Key Features of an App:

  1. Reusable Workflows: Once created, an app provides a persistent endpoint for running specific machine learning tasks without reconfiguring the environment each time.
  2. Customizable Configurations: Apps allow users to define the required GPU resources, number of active workers, and geographical deployment location.
  3. Workflow Integration: Apps can be configured with specific models and predefined templates to streamline task execution.
  4. Team Collaboration: Apps can be associated with teams, enabling seamless collaboration and resource sharing among team members.
  5. Billing Based on Scaling: Billing begins when an app is scaled from zero to at least one active worker, regardless of the number of jobs executed. Users are charged for the active compute time, ensuring efficient resource usage.

Example Use Cases:

  • Deploying an image generation model.
  • Setting up a sentiment analysis endpoint.
  • Hosting a fine-tuned language model for text summarization.

What is a Job?

A Job in RunGen.AI represents a single execution of a task or workflow defined by an app. While the app serves as a reusable deployment unit, a job is the specific instance of that app being executed, typically triggered by a user or an API call. Jobs leverage the active workers of an app to perform computations without incurring additional billing overhead unless the app scales its workers.

Key Features of a Job:

  1. Task Execution: A job is the operational layer where the actual computation takes place, such as processing an image or running inference on a dataset.
  2. No Additional Billing: Jobs utilize already active app workers, meaning they do not independently affect billing. Billing remains tied to the scaling state of the app.
  3. Tracking and Management: Each job is uniquely identifiable, enabling users to monitor its progress, retrieve results, and access logs for debugging.
  4. Scalable Workflows: While a single app defines the configuration, multiple jobs can run sequentially or in parallel using the active app workers.

Example Use Cases:

  • Generating an image based on a provided text prompt.
  • Running a batch inference job to classify a dataset.
  • Translating a large document using a language model.

Relationship Between Apps and Jobs

Apps and Jobs are closely interconnected within the RunGen.AI platform:

  1. Apps Define, Jobs Execute: An app defines the configuration and workflow, while a job executes that workflow for a specific task.
  2. Reusable Apps, On-Demand Jobs: Apps are persistent and reusable, while jobs are transient and created as needed.
  3. Billing Logic: Billing is tied to app worker scaling rather than individual jobs, ensuring predictable costs based on resource utilization.

By understanding these entities, users can effectively deploy, manage, and execute machine learning workflows on RunGen.AI, maximizing efficiency while maintaining control over infrastructure costs.