{"id":20652453,"url":"https://github.com/thesofakillers/nlgoals","last_synced_at":"2025-07-09T07:05:56.239Z","repository":{"id":192286873,"uuid":"551533485","full_name":"thesofakillers/nlgoals","owner":"thesofakillers","description":"Official repository for my MSc thesis: \"Addressing Goal Misgeneralization with Natural Language Interfaces.\"","archived":false,"fork":false,"pushed_at":"2023-11-02T22:10:34.000Z","size":37434,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-17T10:43:41.351Z","etag":null,"topics":["ai-safety","babyai","foundation-models","goal-misgeneralization","llm","nlp","rl"],"latest_commit_sha":null,"homepage":"https://scripties.uba.uva.nl/search?id=record_53979;setlang=en","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thesofakillers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-14T15:25:53.000Z","updated_at":"2024-06-18T18:35:47.000Z","dependencies_parsed_at":"2023-09-04T00:53:59.814Z","dependency_job_id":"f5ebab00-b8dd-4817-b233-4b57170413cc","html_url":"https://github.com/thesofakillers/nlgoals","commit_stats":null,"previous_names":["thesofakillers/nlgoals"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesofakillers%2Fnlgoals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesofakillers%2Fnlgoals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesofakillers%2Fnlgoals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesofakillers%2Fnlgoals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thesofakillers","download_url":"https://codeload.github.com/thesofakillers/nlgoals/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242752245,"owners_count":20179474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-safety","babyai","foundation-models","goal-misgeneralization","llm","nlp","rl"],"created_at":"2024-11-16T17:35:00.833Z","updated_at":"2025-03-09T21:20:26.158Z","avatar_url":"https://github.com/thesofakillers.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Addressing Goal Misgeneralization with Natural Language Interfaces\n\nOfficial repository for my MSc thesis in Artificial Intelligence at the\nUniversity of Amsterdam:\n\n_Addressing Goal Misgeneralization with Natural Language Interfaces_\n\nFind and read the thesis\n[here](https://scripties.uba.uva.nl/search?id=record_53979;setlang=en) or\n[here](./documents/thesis-main/main.pdf).\n\n## Requirements and Setup\n\nDetails such as python and package versions can be found in the generated\n[pyproject.toml](pyproject.toml) and [poetry.lock](poetry.lock) files.\n\nWe recommend using an environment manager such as\n[conda](https://docs.conda.io/en/latest/). After setting up your environment\nwith the correct python version, please proceed with the installation of the\nrequired packages\n\nFirst, install the pre-requirements[^1]:\n\n```terminal\npip install -r requirements/pre-reqs.txt\n```\n\nThen install the rest of the requirements:\n\n```terminal\npip install -r requirements/requirements-complete.txt\n```\n\nThese `requirements.txt` file are generated by running\n[gen_pip_reqs.sh](gen_pip_reqs.sh)\n\n[^1]:\n    This annoying first step is necessary because of stupid packages we depend\n    on like pyhash and multicoretsne that don't know how to get their\n    dependencies sorted out like everyone else. See\n    [this issue](https://github.com/DmitryUlyanov/Multicore-TSNE/issues/81#issuecomment-863745998)\n    and [this issue](https://github.com/flier/pyfasthash/issues/59). These two\n    packages are the main culprits but other packages haven't been very good at\n    defining their dependencies either.\n\n## Project Organization\n\n```plaintext\n    ├── LICENSE\n    ├── README.md          \u003c- The top-level README\n    ├── data/              \u003c- Datasets\n    ├── checkpoints/       \u003c- Trained and serialized models.\n    ├── notebooks/         \u003c- Jupyter notebooks.\n    ├── documents/         \u003c- Documents as HTML, PDF, LaTeX, etc.\n    ├── pyproject.toml     \u003c- Project metadata, handled by poetry.\n    ├── poetry.lock        \u003c- Resolving and locking dependencies, handled by poetry.\n    ├── requirements.txt   \u003c- For non-poetry users.\n    ├── gen_pip_reqs.sh    \u003c- For generating the pip requirements.txt file\n    ├── tests/             \u003c- Tests\n    ├── outputs/           \u003c- Output files. Not committed.\n    └── src/nlgoals/       \u003c- Source code for use in this project.\n        ├── __init__.py    \u003c- Makes src a Python module\n        ├── babyai/        \u003c- (modified) code from babyai repo\n        ├── configs/       \u003c- Miscellaneaous configuration\n        ├── utils.py       \u003c- Miscellaneaous utils\n        ├── data/          \u003c- Data processing and handling\n        ├── interfaces/    \u003c- Logic for connecting datasets and models\n        ├── models/        \u003c- Model definitions\n        ├── losses/        \u003c- Custom loss function implementations\n        ├── trainer/       \u003c- Configurations for training\n        └── run/           \u003c- Scripts to train, evaluate and use models\n```\n\nThe project structure is largely based on the\n[cookiecutter data-science template](https://github.com/drivendata/cookiecutter-data-science).\nThis is purposely opinionated so that paths align over collaborators without\nhaving to edit config files. Users may find the\n[cookiecutter data-science opinions page](http://drivendata.github.io/cookiecutter-data-science/#opinions),\nof relevance\n\nThe top level `data/` and `checkpoints/` directories are in version control only\nto show structure. Their contents will not be committed and are ignored via\n`.gitignore`.\n\n## Demo videos\n\n\"turn on the light bulb\"\n\nhttps://github.com/thesofakillers/nlgoals/assets/26286291/e6849007-11f0-44e9-9d66-3b2b575492fc\n\n\"go to the key\"\n\nhttps://github.com/thesofakillers/nlgoals/assets/26286291/4d8711f4-e53a-4c7f-bd2d-9fb5a2ee1bdb\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthesofakillers%2Fnlgoals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthesofakillers%2Fnlgoals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthesofakillers%2Fnlgoals/lists"}