Skip to content
This repository has been archived by the owner on Nov 3, 2023. It is now read-only.

Releases: facebookresearch/ParlAI

1.7.2

06 Jun 20:16
e3dcd00
Compare
Choose a tag to compare

New Releases

New Features

  • New releases coming with a public Docker image (#4868, #4874)
  • flan-t5 models in ParlAI with fp16 (#4875)
  • Factual Nucleus Sampling (#4890)
  • [FSDP] Zero 3 Optimization Support (#4903, #4911)
  • [BB3] New Module; New Customization (#4944, #4946)
  • Workers' qualifications for the model chat (#4956)
  • ClearML Logger (#4896)
  • Async multi-party model chat (#4993)
  • jsonfile retains original fields (#5033)

Metrics

  • Masked metrics (#4894)
  • Custom compute loss (#4913)

Bug fixes

  • GRM: (#4796)
  • Module Level Tasks (#4798)
  • Display data with utf-16 (#4864) and emojis (#4833, #4934 (revert #4666))
  • Reasoning task (#4883)
  • TGA Compatibility with Pytorch>=1.13 (#4887)
  • T5 Init Bug (#4897)
  • Delay Loading NGram-Blocking on GPU (#4886)
  • Fix starspace (#5003)
  • Datatype option for Wizard of Internet task (#4962)
  • T5 and GPT2 fixes (#5016, #5032)

Datasets & Teachers

Developers & Documentation

Repository maintenance

v1.7.1

16 Sep 16:27
4bc8f17
Compare
Choose a tag to compare

This release is mainly to address build errors resulting from functionality introduced in 1.7.0, i.e., n-gram blocking on the GPU. Full release notes below:

General Fixes/Improvements

  • Protect loading of n-gram blocking on GPU (#4779)
  • General lint fixes (#4771)
  • Increase CI parallelism (#4702)
  • Update DialCrowd to mephisto 2.0.1

Agent Improvements/Fixes

  • [BB3] General fixes (#4786, #4789)
  • [BB3] Memory usage heuristics (#4770)
  • [BB3] README Updates (#4784)
  • [DIRECTOR] Added shared embedding option to director model. (#4763)

1.7.0

23 Aug 22:36
a5e4685
Compare
Choose a tag to compare

New Releases

New Features

  • The Decoder-Only Transformer agent is now available in ParlAI! (#4329)
  • Beam N-Gram blocking is now supported on the GPU (#4633, #4721)
  • The model chat mephisto crowdsourced task now supports emojis! (#4666)

Agent Fixes + Improvements

Bug fixes + Performance Improvements

Datasets & Teachers & Mutators

Logging & Metrics

  • Improvements to Weights & Biases integration (#4484, #4548, #4708)
  • Include tensorboard logging in eval_model (#4497)
  • TimerMetric fixes (#4536)
  • Expose precision + recall metrics (#4670)

Developers & Documentation

v1.6.0

30 Mar 19:30
054a0ff
Compare
Choose a tag to compare

New Releases

New Features

  • Updating to Mephisto 1.0 (#4426)
  • [TGA]
    • More flexible token metadata logging (#4169, #4427)
    • Record avg generation length (#4295)
    • change tga default to not sort (#4138)
  • Add a small example Flask server (#4433)
  • Add support for WorldLoggers in training (#4369)
  • [T5] Support Distributed Training (#4434)
  • [HuggingFace] Add support for any GPT-2 model hosted in Huggingface (#4360), and ranking (#4326)
  • [Crowdsourcing]
    • [ACUTE-Eval] Add support for knowledgeable question (#4416), interestingness question (#4113)
    • [ACUTE-Eval] Record start and end times (#4208)
    • [Model chat] allow multiple final ratings (#4276)
    • [Model chat] allow spacing out of annotation buckets (#4275)
    • Allow Use of external database in crowdsourcing code (#4272)
    • Allow specification of blueprints from command line (#4254)
    • Unify turn annotation tasks (model chat and turn annotations static tasks) (#4162)
    • [ACUTE-Eval] Save worker name in Acute-Eval analysis script (#4126)
  • [RAG/FiD/BB2]
    • [All] Incremental Decoding (#4088)
    • [BB2] Allow hybrid mode (skip search when needed) (#4221)
    • [FiD] Add specialized chunking to search engine retrievers (#4227)
    • [BB2] Support for gold docs training (#4163)
    • [FiD] Gold retrieved documents FiD Agent. (#4123)
    • Export memories to the observation output (#4040)
  • [Style-Controlled Generation] OSS Second Classifier (#4380)
  • [Re-ranker] Support for a classifier re-ranker agent (#4291)
  • [TCA] return candidates (#4286)
  • Curated response generators (#4197)
  • [Chat Services] add option for host specification (#4335)

Bug fixes

Datasets & Teachers & Mutators

  • Relicense several parlai datasets as commercially friendly (#4269, #4213, #4126)
  • LLLC, a large chinese dataset (#4325)
  • Casino dataset (#4129)
  • Upgrade internals of several teachers: WoW (#4284), Empathetic Dialogues (#4405), Natural Questions (#4205)
  • WoW and WoI mutators (#4418, #4204, #4168, #4124, #4125, #4122, #4114)
  • Speed up the json teachers (#4404)
  • XPersona Dataset (#4314)
  • ConversationTeacher parent class is now ParlAIDialogTeacher (#4256)
  • [WizInt] Additional knowledge-related eval metrics (#4193); turn dicts to Messages (#4144)

Developers

v1.5.1

12 Oct 19:29
f45fde0
Compare
Choose a tag to compare

v1.5.1

Project Releases

Hi, my name is Martha - New reduced-bias dialogue models! (#3981)

Minor features

  • Allow the style classifier to save output probabilities (#4026)
  • Add gpu option to torchscript BART models (#3979)

Crowdsourcing

  • Upgrade to Mephisto 0.4.0 (#3982, #4043)
  • Save model chat data in the Mephisto database (#4005)
  • Add Last Turn Annotation Only option to turn annotations static task (#3436)
  • Crowdsourcing data compiler class for using Mephisto abstractions (#4029, #4034)
  • Force model chats starting with "Hi!" to use BST-style context (#4004)

Datasets

  • [LIGHT] Jericho World dataset (#3957)

Bugfixes

  • [RAG] Fix ReGReT Cuda Issue (#4022)
  • [BlenderBot2] Handle distributed (#4023)
  • [mutators] Prevent name collisions in mutators (#4006)
  • [crowdsourcing] Fix model chat frame height by (#4030)

Other

Developer changes

v1.5.0

25 Aug 13:23
14bccc5
Compare
Choose a tag to compare

v1.5.0

Major Features

Model Cards have now been added to ParlAI. We support automatically generating cards for different models. See an example of BlenderBot2's model card. (#3857, #3865, #3899, #3884, #3915, #3965, #3860, #3863)

Minor Features

  • Add support for an extra final evaluation in training scripts with custom opts (#3883)
  • Add --checkpoint-activations to lower memory usage of training transformers (#3864)

Crowdsourcing

  • Open source the Wizard of Internet crowdsourcing tooling (#3924)
  • Open source the Personal Knowledge crowdsourcing tooling (#3945)
  • More customization for the [Static Turn Annotations] task. (#3926)
  • More flexibility in model-chat analysis code (#3844, #3958, #3935)

Bug Fixes

  • [world logs] Fix a bug where dynamic batching didn't use episode boundaries in world logs (#3867)
  • [self chat] Fix the order of openers so output is deterministic (#3923)
  • [parser] Fix bug where parse_kwargs couldn't handle mutator args (#3900)
  • [parser] Fix bug where nargs=+ wasn't working with parse_kwargs (#3930)
  • [teachers] Fixed an issue where some preprocessing was missing from labels field (#3874)
  • [blenderbot2] Fix a crash when not using internet search (#3950)
  • [regret] Fix a regression in Regret (#3934)
  • [rag] Fix a bug when receiving NaN scores

Teachers

  • Auxillary data added in the Wizard of Internet Task (#3897)

Documentation changes

  • Updates/improvements to some project documentations in Hallucination/RAG/etc (#3869, #3888, #3917, #3873)
  • Remove a false statement in chat services tutorial
  • Update a link to datasets in Contradiction (#3878)
  • Repo-wide spelling corrections (#3894, #3960)

Developer changes

  • Minor refactors (#3892)
  • CI fixes and improvements (#3954, #3837, #3889)
  • Small extensibilities to the torchscript functionality (#3851)
  • Enable self_chat to seed messages from tasks in parlai_internal (#3852)
  • Avoid exception in core/agents.py when arg is missing from dict (#3893)
  • Allow customization of the AcceptabilityChecker (#3846)

v1.4.1

23 Jul 14:14
5b71567
Compare
Choose a tag to compare

Includes a fix to make sure that BlenderBot2 can be used with a pip install (#3848)

Also includes a teacher for training a Wikipedia Page Title Generator from the Wizard of Wikipedia Dataset (#3845)

v1.4.0

22 Jul 19:19
60f8235
Compare
Choose a tag to compare

v1.4.0 Changelog

Major Features/Paper Releases

BlenderBot 2.0 Models, Code, Datasets

This release of ParlAI includes all the code, models, and datasets used to build BlenderBot 2.0 - please see the project page for more information, including how to access and use the models themselves (#3790, #3793, #3794, #3795, #3796, #3797, #3798, #3801, #3802, #3805, #3803, #3815, #3817)

Internet-Augmented Dialogue Generation

Build and release a crowd-sourced dataset of humans searching the internet and talking in depth about a vast array of topics; search-engine-augmented dialogue models are trained on the dataset, and are shown to be more knowledgeable than their non-search-augmented counterparts. (#3792, #3800, #3814)

Multi-Session Chat

Build and release a dataset of multi-session chats for the purpose of studying long-term open-domain conversation. Models trained on the dataset prove to perform better at recalling information from the distant past in the chats. (#3791, #3799, #3814)

Safety Benchmark Tests

With the release of Anticipating Safety Issues in E2E Conversational AI: Framework and Tooling, ParlAI now supports running safety unit tests for conversational models. Check out the project page to see how to run the safety benchmarks. (#3767, #3768, #3769, #3784)

Convenience Functions for Agents

With a recent update to ParlAI's agent API, you can now bypass the act/observe loop for interacting with agents. (#3775)

In [1]: from parlai.core.agents import create_agent

In [2]: from parlai.core.params import ParlaiParser

In [3]: opt = ParlaiParser(True, True).parse_args(['--model_file', 'zoo:blender/blender_90M/model'])

In [4]: agent = create_agent(opt)

In [5]: agent.respond("Hi! How's it going?")
Out[5]: "it ' s going well . i ' m getting ready to go to work . how about you ?"

Minor Features

[Metrics] AUC Metrics added to parlai eval_model (#3751)

Bug Fixes

[Crowdsourcing] Crowdsourcing Fixes concerning Left Pane Text and Model Chat (#3773, #3780, #3789, #3831)
[RAG] Fix some issues with RAG/FiD agents (#3787, #3818, #3834, #3833, #3836)
Fix JSON serialization in interactive_web.py script (#3821)
Fix CI test issues (#3825, #3823)
Misc. README typos (#3807, #3839, #3841)

Developer Changes

Stripping before processing Conversations to allow leniency (#3772)
[ACUTE-Eval] Dev improvements to running ACUTE-Eval (#3781, #3782, #3783)
Allow self-chat in nested folders (#3785)
Allow opt presets from parlai_internal folders (#3819)

v1.3.0

07 Jul 19:56
bd9ac8f
Compare
Choose a tag to compare

v1.3.0 Changelog

Major Features

Fully Sharded Data Parallel

Implementation of DeepSpeed/FairScale's Zero2 sharding. Improves training speed and reduces memory usage over vanilla DistributedDataParallel. Switch to the new mode with --ddp-backend zero2 to see free improvements in your training! (#3740)

Swappable Transformer Components

We've added support for overriding internal components within Transformers. It is now easy to swap only an attention module, or customize your layers, without having to fully override all classes. (#3567, #3703, #3708, #3715, #3638)

ChunkTeacher no longer requires num_examples/num_episodes to be correct

For as long as we've had ChunkTeacher, the value of num_examples/num_episodes must be exactly correct, or your training would hang. Furthermore, that calculation would need to be done outside of ParlAI. We've relaxed this restriction: these methods can now return arbitrary values, and you will correctly iterate through all of your data. However, using the wrong value of num_examples can cause the "epoch" counter (used in parlai train) to be wrong relative to your dataset. (#3681, #3745)

Eliminate dummy batches and init_cuda_buffer

You are no longer required to implement dummy batches in your Generator agents, when using custom batch formats. Additionally, you will no longer see a dummy batch as the first batch when debugging. Instead, the first batch your agent sees will be reserved as the future dummy batch. (#3732, #3744)

Paper Releases

Reducing Hallucination

Exploratory architectures that add retrieval mechanisms to dialogue models, reducing hallucination while maintaining conversational ability. (#3611, #3657, #3693, #3688, #3668)

Hash Layers & Ladder Transformers

More Parameters or More Compute? Answer: Both! Two new methods that explore this question: Hash Layers for more parameters, and Staircase Attention for more power per parameter. (#3697, #3699, #3700, #3746, #3747)

Minor Features

  • [TGA] Substantial speedups during generation on GPUs (#3730, #3729, #3669)
  • [Datasets] Add GLUE teachers, and support for HuggingFace datasets (#3570, #3624)
  • [Datasets] [Safety] Release the Non Adversarial Data (#3684)
  • [TA] Support temp history via special field in observation (#3617)
  • [TGA] Allow setting prefix tokens (#3760)
  • [TCA] Classifier on generator for TGA (#3716)
  • [ChunkTeacher] Remove exception for specifying non-streaming data (#3653)
  • [Transformer] Better initiaization for segment embeddings (#3680)
  • [Message] Add a new json_safe_payload method for serialization (#3643, #3726, #3686)
  • [JIT] Support special tokens in torchscript module. (#3644)
  • [JIT] Fix a parsing error with parlai torchscript in Python 3.8 (#3641)
  • [ACUTE] Support randomize_conversations (#3636, #3642)

Bugfixes

  • [train] Fix bugs with loading validation impatience. (#3713)
  • [train] Fix LR scheduler cooldown (#3719)
  • [train] Dynamic Batching doesn't choke with really small datasets (#3721)
  • [Logging] Fix a bug with world logging and multitasking (#3718)
  • [Mutators] Ensure mutations do not persist across epochs (#3649)
  • [BART] Do not add start/end tokens multiple times (#3714)
  • [TCA] weighted_f1 no longer assumes binary classification (#3728)
  • [Safety] Fix a Static Task bug and Safety README (#3612)
  • [logging] Fix an issue where --loglevel debug was ignored (#3658)
  • [Tensorboard] Fix an exception in some versions of Tensorboard (#3637)
  • [vacuum] Add support for PathManager in vacuum (#3635)
  • [Crowdsourcing] Slightly improve the analysis script to make it more robust (#3683, #3629)
  • Various locations where the change to is_padding caused issues (#3704, #3634, #3674)
  • Various typos/lint (#3621, #3622, #3646)

Developer changes

v1.2.0

23 Apr 13:45
6695ae7
Compare
Choose a tag to compare

This Saturday marks the 4 year anniversary since the initial release of ParlAI. I'd like to offer my sincere gratitude to our users, our contributors, and all of the core development team. ParlAI wouldn't be what it is without all of you. -@stephenroller

Major new features

Background Preprocessing

Improve your training speeds by 1.25x-5.0x by switching from --num-workers 0 to --num-workers N. See our Speeding up training docs for details. (#3527, #3586, #3575, #3533, #3389)

(Beta) Support for torch.jit
Deploy faster models by exporting models with TorchScript. Currently limited to BART models only. (#3459)

Support for T5
We now have agents for Google's T5 models (#3519)

Opt Presets
Opt presets. Easily use prepackaged opt files as shorthand for long command line arguments (#3564)

Log/validate/stop based on number of steps
Get up to a 10% speedup of distributed training by switching from -vtim or -veps to -vstep (#3379, #3555)

Backwards-incompatible changes

  • DictionaryAgent.text2vec now requires input to be a string (#3472)
  • A number of older projects have been archived: DrQA (#3559), Controllable Dialogue (#3557), and Self-Feeding Chatbot (#3557).

Minor improvements

  • Performance speedup in generation using Transformer Generators (#3550)
  • Improvements to the Transformer API, making Transformer models more easily extensible. More to come soon. (#3486, #3545, #3466, #3501)
  • Various performance improvements when loading ParlAI or performing some activities (#3544, #3482)
  • Metrics:
    • New truncation metrics show you how much context/label you're losing (#3458, #3508)
    • Additional metrics in the Wizard of Wikipedia teacher (#3566, #3592, #3503)
    • New token_em metric, an equivalent to accuracy with --skip-generation true (#3497)
  • Self-chat can now use seed messages (#3580)
  • New "normalized" ConvAI2 teachers for the non-standard variants (#3509)
  • Update FusedAdam support to use FairScale (#3522)
  • Add --wandb-entity flag to the logger (#3562)
  • Tensorboard now provides nicer names of metrics (#3534)

Bugfixes

  • [core] Fix a bug when resuming with the cosine LR scheduler after preemption (#3599)
  • [core] Improve robustness to serialization of Observations (#3591)
  • [core] ParlaiDialogTeacher now parses the rewards field as a number (#3517)
  • [core] Fix recently introduced ChunkTeacher bugs (#3549, #3542, #3543)
  • [core] Minor FP16 fixes when converting old checkpoints (#3514)
  • [core] Fix annoying ambiguity issues with commandline parsing in Python 3.8 (#3598)
  • [core] Fix a rare situation in case a dictionary contained tokens with leading whitespace (#3613)
  • [mutators] Fix a bug with the flatten mutator providing the wrong history (#3578, #3584)
  • [metrics] Fix a bug with computation of fairseq metrics (#3518)
  • [task] Fix a bug with Wizard of Wikipedia teacher causing some data to be omitted (#3585)
  • [task] Fix a crash in Wizard of Wikipedia end2end agent when given zero documents (#3602)
  • [task] Update a dead dataset to a new link (#3520)
  • [task] Fix an issue with CCPE (#3487)
  • [tga] Fix a case where TGA used as a ranking model could crash (#3541)
  • [agent] Fix a crash in BertDictionaryAgent (#3560)
  • [other] Various rare issues (#3505) and quality improvements (#3496)

Crowdsourcing improvements

  • Add new option to avoid randomizing pairs in ACUTE-Eval (#3528)
  • ACUTE-Eval provides additional warnings when options are not set to recommended values (#3536, #3524)

New Datasets

Doc improvements

Developer improvements