Overview
Partnerships of two are optional but encouraged on this assignment.
This assignment is called a "project" in the spirit of encouraging
somewhat more independent exploration of a subject within AI than the
preceding assignments have offered. There is more flexibility in topic here,
although there is some bias towards embracing the currently hot topic of
language modeling, even in Option B
on enhanced game agents.
There are three topic options for the project: (A) language models (building on
the ideas from Assignment 1), (B) enhanced game agents (building on the ideas
from Assignment 3), and (C) language parsing using probabilistic context-free grammars
(which does not build directly on a previous assignment but which is related
to the PCFG worksheet and which deals with language modeling through syntax).
Each option has challenges and opportunities for learning new material.
The staff will attempt to support all the options, but we expect students to
take the initiative to learn the relevant techniques, within reason, to complete
their chosen option.
Each of the three options has its own web page with additional information.
However, all three options have the following requirements.
Requirements
Regardless of which of the three topic options you are doing, you should submit
the following files as a Zip archive to the GradeScope "assignment" that corrsponds
to your option.
- Code (one or more files). If you are doing the language modeling option, submit
your Jupyter notebook file. If you are doing the game agents option, submit
the files needed to run your agent. If you are doing the PCFG parsing option,
submit the Python file with your implementation.
- A project report as a PDF file.
Required sections in the project report are listed below.
- Output, if not part of a Jupyter notebook file or part of your report.
If you are doing the game agents option, you should submit at least one file
representing a transcript of a complete game, including moves, state displays
in ASCII, and commentary by the agents and/or the game master.
Project Report
The report should contain the following sections.
- Full names and UWNetID of each partner.
- Project Option and Suboption, if any. For example: Enhanced Game Agent -- Baroque Chess.
- Abstract: a 50 to 200 word summary of the approach you took to your project,
what you tested, and what results were.
- Starting code you used, which might have come from an earlier assignment (such as your
A3 agent), or from
Karpathy's GitHub archive (for Option 1).
- Data that you used and where it came from, if using data, such as in Option 1 or Option 3.
If you created any data set of your own, explain how you did it.
- Details of what changes you made to the code you started with or just what features
you implemented in your project. Explain why you made the changes and what, if any,
challenges you faced in this.
- Tests you did with your implementation... depending on the option, explain what training,
and/or testing you did, and some of the issues that came up when you did the training or testing.
- Give a short excerpt (3 to 15 lines) of code you wrote or heavily modified.
Explain this code, focusing on its role within the overall implementation, roughly how it works,
and why we could consider it interesting.
- How well does your system work, in terms of output quality? Give both strengths and weaknesses.
If appropriate, provide illustrations where something notable happened in the output
that showed a strength and showed a weakness.
- What additional functionality or code improvements would be next on your list if you had more
time to spend on this?
- Any option-specific report requirements mentioned in those options' details.
- What have you learned in this project?
- What have you learned that you would like to share with the rest of the class?
- Any other comments about your experience in the project.
Links to the Option Pages
- Language Models:
Details
- Enhanced Game Agents:
Details
- Parsing with Probabilistic Context-Free Grammars:
Details
FAQ
-
Q. Is there starter code for A6?
A. There is no special starter code. However, some options have
suggestions for code to use.
-
Q. Are there any autograders for A6?
A. No.
-
Q. What do we need to turn in?
A. Two items: (a) a zip file containing your code and data;
(b) a PDF file containing your report.
-
Q. Are we allowed to use ChatGPT on this project?
A. Yes. However, there are conditions for your use of ChatGPT or other AI service.
At the very least, if you use ChatGPT you agree to indicate, in your report,
where and how you used it, what it provided to you, and how you processed what you
received. Each option has additional guidelines about how you may, if you wish,
use large language models in this project.
-
Q. If we include material obtained with the help of ChatGPT and it turns out to be
inaccurate or even wrong, are we responsible for that?
A. Yes. You need to fact-check and accurracy-check any information you provide
in your project that came from agents or outside sources not known to be very reliable.
|