v0.6.0: SDK3.2, Text generation, Whisper, Stable Diffusion
Text Generation
This release comes with full support for text generation for GPT2, BART, T5, and Whisper!
- Add text generation support by @jimypbr in #253
- Run encoder on IPU for encoder-decoder text-gen models by @jimypbr in #283
- Efficient decoder text generation wrapper by @jimypbr in #273
- Text Gen slice decoder projection optimisation by @jimypbr in #295
- Add text generation prediction support for IPUSeq2SeqTrainer by @kundaMwiza in #284
IPU pipelined models can call .generate()
. Text generation can also be done with pipelines
.
Stable Diffusion
- We now support Stable Diffusion inference pipelines from Diffusers in
optimum/graphcore/diffusers
@katalinic-gc in #300 - Much improved performance on IPU by running all SD modules on IPU by @katalinic-gc in #274
- Add file for SD ipu configs by @katalinic-gc in #301
UX Improvements
We've improved the usability of IPUConfig
.
- You know longer need to specify both
ipus_per_replica
andlayers_per_ipu
. You can specify just one and the other will be inferred from it: @hmellor in #282 layers_per_ipu
can support a combination of integers and wildcards (-1
) e.g `[1, 1, -1, -1] will put 1 layer each on IPU0 and IPU1, and split the remaining layers evenly between IPU2 and IPU3. If there are an odd number of layers, the extra layer is placed on the last wildcard IPU. @rahult-graphcore in #275
New Models
- Add Groupbert model GroupBert (https://arxiv.org/abs/2106.05822) by @ivansche in #139
- Add Whisper model for inference by @paolot-gc in #262
Notebooks
- Packed bert notebook by @alex-coniasse in #222
- Name Entity Extraction notebook by @anjleeg-gcai in #237
- Whisper notebook for inference by @paolot-gc in #262
Bugfixes
- SerializedEmbedding: override default freeze=True on deserialization by @kundaMwiza in #304
- Fix training mode outputs for roberta and distilbert mlm models by @jimypbr in #254
- Remove the work-around for rebuilding BaseModelOutput in BART and T5 by @jimypbr in #297
- Populate
_hooks
for T5 and BART by @hmellor in #291 - Instantiate optimizer in compile only mode by @kundaMwiza in #292
- Add back removed variables from the wav2vec2 pretraining forward sig by @katalinic-gc in #259
- Pipeline bug fixes by @jimypbr in #260
- Fix PR doc build when the PR comes from a clone with a different name by @regisss in #281
Misc
- Bump transformers to 4.25.1 by @katalinic-gc in #247
- Bump diffusers to 0.12.1 by @katalinic-gc in #302
- Remove deprecated IPU config arguments by @katalinic-gc in #250
- Remove the custom layernorm for convnext by @jimypbr in #255
- Updates for SDK 3.2 by @jimypbr in #256
- Add PopART option that enables the use of models with weights exceeding ~2GB by @hmellor in #277
- Pin the optimum version requirement by @jimypbr in #293
- More concise dev install instructions by @hmellor in #294
New Contributors
- @alex-coniasse made their first contribution in #222
- @ivansche made their first contribution in #139
- @evawGraphcore made their first contribution in #264
- @arsalanu made their first contribution in #266
- @hmellor made their first contribution in #279
- @kundaMwiza made their first contribution in #292
- @paolot-gc made their first contribution in #262
Full Changelog: v0.5.0...v0.6.0