CS 7290 Special Topics in Data Science Northeastern University, Khoury College of Computer Sciences
Prof. Robert Osazuwa Ness
LLM Lab is a project-led seminar course course that uses product-development techniques to build software applications that extend large language models.
A large language model (LLM) is an artificial intelligence model trained on a large dataset of text data. LLMs can generate human-like text that is helpful in various tasks, such as language translation, text summarization, and question-answering. Some examples of large language models include ChatGPT and LaMDA.
An LLM is an example of a foundation model -- a large artificial intelligence model trained on a vast quantity of unlabeled data at scale resulting in a model that can be adapted to a wide range of downstream tasks.
Highly performant foundation models can require several million dollars to train. As a result, a model is emerging where tech companies invest in pre-training these models, then provide access to them through services such as Azure OpenAI Service and Hugging Face. AI-savvy developers build products where this foundation model is one element in a stack. This course aims to make you one of those AI product developers. We focus on building impactful applications on pre-trained LLMs like GPT (as opposed to how to engineer and train LLMs themselves).
At the end of this course, you will have accomplished the following:
- run through an AI-product-focused version of the customer development process to build a prototype of a software application that uses an LLM-based service to solve problems.
- be prepared to give a job interview presentation about your work that talks both about technical implementation and business impact.
The final grade for this course will be weighted as follows:
Assessment Questions: 15%
Weekly Project Milestones: 50%
Class Project Presentation: 15%
Attendance: 20%
You will receive grades for milestones and homework assignments every other week.
Refresh your knowledge of the university's policy about academic integrity and plagiarism (this includes plagiarizing code). There is zero-tolerance for cheating!
You will be assigned weekly readings covering technical aspects of LLMs and related application development. These readings will include academic readings, software documentation, and prepared lectures. Learning to read academic papers is a skill that needs practice; check out the three-pass method for advice. You will answer quiz questions regarding the content of these readings.
The project aims to have students apply design thinking to conceive, design, and field-test LLM-based applications that address real-world needs. You will design, prototype, and test your proposed product or service. The design will focus on the business impact of the product or service or the impact on the beneficiaries of a nonprofit model. The goal is for students to develop tech product development skills that leverage an informed and sober understanding of an AI technology's potential, limitations, and risks.
See the detailed project description page.
Most class projects focus purely on code implementation. However, for foundation models like LLMs, there are plenty of publically available repositories and tools (e.g., Lightning.ai) that make it easy to spin up working prototypes quickly. In this course, the project focuses on the following:
- Finding users/customers with a need
- Identifying opportunities for meeting that need using an LLM-based solution
- Prototyping a solution and getting feedback from would-be customers
- Iterating on the previous steps
In this respect, the goal is not to code up a complicated application and submit it in a repo. The goal is to iteratively get feedback from potential users and customers on "quick and dirty" prototypes of your application.
Your project group will work through an interactive notebook. The workbook will have weekly assignments ranging from:
- Providing summaries of interviews you've had with people
- Summaries of existing products in the marketplace
- Product wireframes, mockups, and examples using publically available LLMs
Aside from the weekly submissions, the final deliverable is a presentation of your findings.
This course is an online class with a project-based seminar format. "Project-based seminar format" means class time will often involve students leading discussion on topics the prepared before online sessions.
Attendance points is based on the following:
- Attending scheduled online sessions with the camera on.
- Participating in and sometimes leading discussion.
- Asking and answering questions each class session
The class participation is taken seriously because more participation leads to a better quality class. Please be aware that if you do not participate, it will negatively affect your final grade.
Suggested prerequisites include (DS5220 and DS5230) or (CS6140 and CS6220).
You will gain the most from this course if you:
- You are comfortable using a programming language to build a web or mobile application that connects to 3rd party APIs.
- You are generally familiar with natural language processing and large language models.
- You have basic skills in software development (or can become a partner with someone who does).
- You are interested in building applications using foundation models