project-proposal-2024

ModularGPT

Abstract

ModularGPT aims to empower users to create their custom GPTs modularly. ModularGPT will provide users with a user-friendly interface to assemble and configure various components of a GPT model according to their specific needs. Users can mix and match components such as models, tokenizers, embeddings, attention mechanisms, and decoders to tailor the model for diverse tasks and domains. ModularGPT democratizes AI development by enabling enthusiasts, researchers, and developers to experiment with different configurations, fine-tune parameters, and train specialized GPT models without requiring extensive expertise in deep learning.

Author

Name: Kushagra Agrawal

Student number: 47341360

Functionality

ModularGPT will have an intuitive interface, which allows users to select, customize, and integrate various modules that constitute a GPT architecture. These modules encompass essential components such as models, tokenizers, embeddings, attention mechanisms, and decoders, each adjustable to suit specific requirements and objectives. By providing this level of granularity, ModularGPT empowers users to fine-tune model configurations, experiment with different architectural setups, and tailor GPT models for diverse applications and domains. Whether users seek to enhance language understanding, generate creative texts, or tackle specialized tasks, ModularGPT equips them with the tools necessary to create bespoke AI models efficiently and effectively.

Scope

The MVP will have the following features:

  1. User Registration/Authentication
  2. A canvas-like interface to build custom GPTs
  3. Ability to select tools, tokenizers, models and embeddings
  4. OpenAI support
  5. Chatbot interface for testing models
  6. Expense trackers for using the models
  7. Examples models

Quality Attributes

  1. Deployability: The modular nature of this project enables straightforward provisioning of resources and scalability without much overhead.
  2. Extensibility: The modular nature of ModularGPT allows easy addition of new features based on the features available with different models.
  3. Maintinibilty: ModularGPT should have extensive internal and external documentation. The internal documentation will help developers maintain the project. Along with this, developers will have access to the documentation for any APIs used in the application.
  4. Modularity: The development of ModularGPT will be modular, making it the fundamental principle for its development. This attribute will take precedence over all other attributes.

Evaluation

ModularGPT will be evaluated based on the following principles:

  1. Deployment and Provisioning Tests: Evaluate the ease of deploying ModuGPT on various computing infrastructures, including local machines, cloud platforms, and specialized hardware. Measure the time and resources required for provisioning, scaling, and updating the software.
  2. Documentation and Support: Assess documentation for ModuGPT for clarity and comprehensiveness, including installation guides, user manuals, and API references. Evaluate support channels to address user inquiries and issues.
  3. Performance Metrics: It is important to evaluate the performance of GPT models created using ModularGPT against benchmarks and standard metrics for natural language processing tasks. This evaluation should include perplexity, accuracy, fluency, and coherence metrics.