Class Project

In my opinion, the best way to do a grad-level project course is to use it as an opportunity to make progress on research on a related topic, especially if it aligns with your existing research agenda. I see the best outcome of the course as you getting as close to producing a publishable research artifact as possible, given the timeframe of the course. With that in mind, you will be expected to submit a 9-page research paper following the ICML 2027 style guide (template forthcoming) and give a presentation on your work. The ICML submission deadline is typically around the beginning of the calendar year, giving you a chance to turn your class paper into a real conference submission.

That said, we don’t require you to produce an ICML-tier publication in 11 weeks. The goal is for you to get research experience on a topic that you’re excited about which relates to the course. Expectations for the novelty, significance, and scale of the contribution and results of your paper will be scaled back dramatically relative to a full AI conference paper, and are more akin to a workshop paper. As examples of smaller-scale projects that would fit with the class, you could start with replicating an existing method, and apply it to a new experimental domain or dataset. You could try applying your favorite single-agent RL method in a multi-agent setting, and see if it needs any modifications to allow it to work.

Note that it is totally acceptable, and in fact ideal, if your normal research aligns with the class, and you can continue making progress on your research agenda and write up the results for the class project. Students are required to work in groups of 3-4. Groups of fewer than 3 or more than 4 students require instructor approval. Through these avenues, you may be able to tackle more challenging research problems with more novelty, such as developing a new algorithm or technique. We encourage you to pursue this if you think it’s possible!

Possible topics

Just like a real Call for Papers (CfP), here is a list of suggested topics appropriate for the class project:

  • RL-post training of LLMs
  • RLHF, RLAIF, RLVR
  • Learning from human feedback
  • Inverse RL
  • Language-conditioned RL
  • Multi-agent RL
  • Coordination with other agents
  • Cooperation with humans
  • Population-based training
  • Theory of mind in multi-agent systems
  • Emergent complexity
  • Curriculum generation
  • Interpreting multi-agent systems
  • Social Learning for AI
  • Multi-agent LLMs / agentic systems
  • MARL for LLMs

If you would like to do a project on a topic you think is related that you don’t see listed here, please contact us.

How will the project be evaluated?

Criteria Your paper will be evaluated similarly to how research papers are evaluated for conferences: on the novelty, significance, soundness of the experimental or theoretical results, writing/presentation, and coverage of the related work. However, the degree of novelty, significance, etc. is expected to be less than a full conference paper (more similar to a workshop paper).

Deliverables

For all project deliverables, only one member should submit on Gradescope on behalf of the entire group. Please list all group members in your submission. The same member should consistently be the one submitting for the group.

Proposal (5% of total grade, due October 28, 2026 at 11:59 PM)

  • Maximum 1 page. Consider this to be a 1-pager, a useful document to sell the value of your project quickly to potential collaborators. It’s good to get practice writing this kind of document, as it’s often used in research and in industry.
  • Describe the proposed project. What is the idea? What is the central contribution relative to related work? What experiments do you plan to run? Why would it be valuable to complete this project? What will the impact be?
  • Submit as a typeset PDF on Gradescope.
  • Your instructors will provide feedback on the proposal which will be designed to help steer your project towards a feasible, interesting, and ideally impactful direction.

Presentation (10% of total grade, in class on December 7 or 9, 2026)

  • Students will give a presentation about their project to the class. Exact times allotted for the presentations are TBD, as they will depend on how many projects we need to cover across 2 classes.
  • The goal of the presentation is to convey the important high-level ideas and takeaways of your project.
  • All group members should participate in the presentation.
  • To minimize time spent switching computers, add your slides to the shared presentation slide deck by 11:59 PM the day before you present. We will choose which group presents when after the project proposals have been submitted and reviewed.

Writeup (35% of total grade, due December 9, 2026 at 11:59 PM)
Please submit a 9-page paper structured like a typical research paper, following the ICML 2027 style guide (template forthcoming; the page limit applies only to the content, not the references or appendices). Suggested sections include the abstract, introduction, related work, optional technical preliminaries, methods, experiments, results, and conclusion/discussion. These are not a hard requirement; you may also have theoretical results you wish to include. Note also that this standard format can sometimes be tweaked effectively; see Safety Alignment Should Be Made More Than Just a Few Tokens Deep for an example.

At the end of your writeup, include a brief Statement of Contributions section that details the contributions made by each group member (for an example see p. 16 of this paper). This section does not count towards the page limit.

Create a github repository for any code related to your project, and include a link to the repo in your paper (if you are submitting the same paper to ICML, remember to anonymize or remove this link!). The repository should include all relevant code needed to reproduce the results. It should also come with a README file documenting what commands you ran.

Note that your submission should not be anonymized and should include group members’ names as authors.

Guidelines for the number of authors

Students are required to work in groups of 3-4 on the project. Groups of fewer than 3 or more than 4 students must receive special permission from the instructor. Every group must submit a 9-page paper, regardless of group size.

If you're looking to find teammates to work on your project idea or join someone else's team, use the project-matching spreadsheet.

Compute

Students working with a research lab can use their lab resources, if feasible. Otherwise, options include:

  • Dedicated course project server: hamachi (GPU)
  • Using Google Colab

Please approach the instructor in-case the available compute is a bottleneck for your projects.

LLM API access via llmproxy

Great news! The Allen School is generously providing our class with free LLM API access through a service they have set up called llmproxy. It is similar to OpenRouter, and compatible with both the Anthropic and OpenAI APIs. You will each be receiving an API key that will allow you to access the proxy with requests to different LLM models (see the examples below).

Here is a selection of the models that are available on the server. Note that the internal/external prefix indicates which ones run on premises at the Allen School (and are free to use) and which run via external providers (AWS or Azure) and cost money.

  • internal/Qwen3.6-35B-A3B
  • external/kimi-k3
  • external/deepseek.v3.2
  • external/zai.glm-5
  • external/sonnet-5-5
  • external/opus-5
  • external/us.openai.gpt-5.6-sol
  • external/us.openai.gpt-5.6-luna
  • external/us.openai.gpt-5.6-terra

Each student in the class will receive $75 in free credits to use this service. To check the prices for different external LLMs, see Amazon Bedrock pricing. To save credits, prioritize using the internal, free models.

The intention is for these credits to enable you to do your course project. For example, you might need this type of LLM API call for the method you are working on (e.g., using something like OpenEvolve, or an LLM-as-a-judge classifier as your reward model), or for some evals (e.g., IFEval). Please be careful not to waste credits if you need them to complete your project, since this one allocation is meant to last for the whole quarter. You should not use this service or this API key for work that falls outside the scope of this course.

Usage Examples

From the command line

Inference Request

curl -X POST "https://llmproxy.cs.washington.edu/v1/chat/completions" \
     -H "Authorization: Bearer YOUR_API_KEY_HERE" \
     -H "Content-Type: application/json" \
     -d '{
       "model": "internal/Qwen3.6-35B-A3B",
       "messages": [
         {
           "role": "user",
           "content": "Write me a poem about post-training."
         }
       ]
     }'

List Available Models

curl -X GET "https://llmproxy.cs.washington.edu/v1/models" \
     -H "Authorization: Bearer YOUR_API_KEY_HERE"
Inference From Python
from openai import OpenAI

# Point the official OpenAI client to the Allen School proxy
client = OpenAI(
    api_key="YOUR API KEY HERE",
    base_url="https://llmproxy.cs.washington.edu/"
)

response = client.chat.completions.create(
    model="internal/Qwen3.6-35B-A3B",
    messages=[
        {"role": "user", "content": "Explain LoRA in one sentence."}
    ]
)

print(response.choices[0].message.content)

Environments

For your paper, you may want to run experiments using multi-agent environments. For an informal list of such environments, please see this doc of possible multi-agent environments. If you have ideas for further environments or datasets, feel free to leave a comment suggesting them.