Releases: keras-team/keras-hub
0.14.0
Summary
- Add Gemma 2 model!
- Support loading fine-tuned transformers checkpoints in KerasNLP. Loading Gemma and Llama3 models are supported for now and will convert on the fly.
- KerasNLP no longer supports Keras 2. Read Getting started with Keras for more information on installing Keras 3 and compatibility with different frameworks. We recommend using KerasNLP with TensorFlow 2.16 or later, as TF 2.16 packages Keras 3 by default.
What's Changed
- Fix newline characters for pali_gemma by @mattdangerw in #1655
- Remove dead code by @mattdangerw in #1659
- Fix some testing on the latest version of keras by @mattdangerw in #1663
- Vicuna Models checkpoints transfer script by @sineeli in #1657
- Add documented but missing methods for some tokenizers by @SamanehSaadat in #1664
- Changed from_preset file downloading to use GFile when able by @VarunS1997 in #1665
- Fix gfile downloads by @mattdangerw in #1666
- More error handling for gfile by @mattdangerw in #1667
- Update error message by @mattdangerw in #1668
- Ditch Keras 2 support by @mattdangerw in #1658
- fix GemmaBackbone.get_layout_map + test by @martin-gorner in #1669
- Covert a
safetensor
checkpoint from Hugging Face hub by @ariG23498 in #1662 - Add Gemma 2 model by @grasskin in #1673
- Version bump to 0.14.0.dev0 by @grasskin in #1677
Full Changelog: v0.12.1...r0.14
v0.12.1
Summary
⚠️ PaliGemma includes rescaling by default, so images are expected to be passed in the[0, 255]
range. This is a backward incompatible change with the original release. Restore the original behavior as follows:
keras_nlp.models.PaliGemmaBackbone.from_preset(
"pali_gemma_3b_224",
include_rescaling=False,
)
- Released the Falcon model.
What's Changed
- Update version to 0.13.0 for the master branch by @mattdangerw in #1640
- Update llama3 preset versions by @mattdangerw in #1641
- extra argument in save_to_preset method by @sineeli in #1634
- Fix a typo in an error handling message by @SamanehSaadat in #1647
- Fix a typo in phi3 metadata by @mattdangerw in #1646
- Add
FalconCausalLM
by @SamanehSaadat in #1635 - Add include rescaling to the pali gemma backbone by @mattdangerw in #1650
- PaliGemma docstring fix by @mattdangerw in #1651
- Version bump for 0.12.0.dev0 by @mattdangerw in #1652
- Version bump 0.12.1 by @mattdangerw in #1653
New Contributors
Full Changelog: v0.12.0...v0.12.1
v0.12.0
Summary
Add PaliGemma, Llama 3, and Phi 3 models.
PaliGemma quickstart, see a complete usage on Kaggle.
pali_gemma_lm = keras_nlp.models.PaliGemmaCausalLM.from_preset(
"pali_gemma_3b_224"
)
pali_gemma_lm.generate(
inputs={
"images": images,
"prompts": prompts,
}
)
What's Changed
- Add CodeGemma 1.1 presets by @grasskin in #1617
- Fix rope scaling factor by @abuelnasr0 in #1605
- Fix the issue of propagating
training
argument in subclasses by @james77777778 in #1623 - Pass kwargs to tokenizer when creating preprocessor by @SamanehSaadat in #1632
- Add phi3 by @abuelnasr0 in #1597
- Add LLaMA 3 tokenizer and preset by @tirthasheshpatel in #1584
- Export missing llama 3 symbol by @mattdangerw in #1633
- PaliGemma by @mattdangerw in #1636
- Update pali_gemma_presets.py by @divyashreepathihalli in #1637
- Update version to 0.13.0 for the master branch by @mattdangerw in #1640
- Update llama3 preset versions by @mattdangerw in #1641
Full Changelog: v0.11.1...v0.12.0
v0.11.1
v0.11.0
Summary
This release has no major feature updates, but changes the location our source code is help. Source code is split into a src/
and api/
directory with an explicit API surface similar to core Keras.
When adding or removing new API in a PR, use ./shell/api_gen.sh
to update the autogenerated api/
files. See our contributing guide.
What's Changed
- Change the order of importing
keras
by @james77777778 in #1596 - Add backend info to HF model card by @SamanehSaadat in #1599
- Bump required kagglehub version to 0.2.4 by @SamanehSaadat in #1600
- Bump
bert_tiny_en_uncased_sst2
classifier version by @SamanehSaadat in #1602 - Allow a task preprocessor to be an argument in from_preset by @SamanehSaadat in #1603
- API Generation by @sampathweb in #1608
- Update readme with some recent changes by @mattdangerw in #1575
- Bump the python group with 2 updates by @dependabot in #1611
- Version bump 0.11.0.dev0 by @mattdangerw in #1615
- Unexport models from the 0.11 release by @mattdangerw in #1614
- Version bump 0.11.0 by @mattdangerw in #1616
New Contributors
- @james77777778 made their first contribution in #1596
Full Changelog: v0.10.0...v0.11.0
v0.10.0
Summary
- Added support for
Task
(CausalLM
andClassifier
) saving and loading which allows uploadingTask
s. - Added basic Model Card for Hugging Face upload.
- Added support for a
positions
array in ourRotaryEmbedding
layer.
What's Changed
- 0.9 is out, nightly should be a preview of 0.10 now by @mattdangerw in #1570
- Do the reverse embedding in the same dtype as the input embedding by @mattdangerw in #1548
- Add support for positions array in
keras_nlp.layers.RotaryEmbedding
layer by @tirthasheshpatel in #1571 - Support Task Saving/Loading by @SamanehSaadat in #1547
- Improve error handling for non-keras model loading attempts by @SamanehSaadat in #1577
- Add Model Card for Hugging Face Upload by @SamanehSaadat in #1578
- Add Saving Tests by @SamanehSaadat in #1590
- Improve error handling for missing TensorFlow dependency in keras_nlp. by @SamanehSaadat in #1585
- Fix Keras import by @sampathweb in #1593
- Check kagglehub version before upload by @SamanehSaadat in #1594
- Version bump to 0.10.0.dev0 by @SamanehSaadat in #1595
- Version bump 0.10.0.dev1 by @SamanehSaadat in #1601
- Version bump to 0.10.0.dev2 by @SamanehSaadat in #1604
- Version bump to 0.10.0 by @SamanehSaadat in #1606
Full Changelog: v0.9.3...v0.10.0
v0.9.3
Patch release with fixes for Llama and Mistral saving.
What's Changed
- Fix saving bug for untied weights with keras 3.2 by @mattdangerw in #1568
- Version bump for dev release by @mattdangerw in #1569
- Version bump 0.9.3 by @mattdangerw in #1572
Full Changelog: v0.9.2...v0.9.3
v0.9.2
Summary
- Initial release of CodeGemma.
- Bump to a Gemma 1.1 version without download issues on Kaggle.
What's Changed
- Fix
print_fn
issue in task test by @SamanehSaadat in #1563 - Update presets for code gemma by @mattdangerw in #1564
- version bump 0.9.2.dev0 by @mattdangerw in #1565
- Version bump 0.9.2 by @mattdangerw in #1566
Full Changelog: v0.9.1...v0.9.2
v0.9.1
Patch fix for bug with stop_token_ids
.
What's Changed
- Fix the new stop_token_ids argument by @mattdangerw in #1558
- Fix tests with the "auto" default for stop token ids by @mattdangerw in #1559
- Version bump for 0.9.1 by @mattdangerw in #1560
Full Changelog: v0.9.0...v0.9.1
v0.9.0
The 0.9.0 release adds new models, hub integrations, and general usability improvements.
Summary
- Added the Gemma 1.1 release.
- Added the Llama 2, BLOOM and ELECTRA models.
- Expose new base classes. Allow
from_preset()
on base classes.keras_nlp.models.Backbone
keras_nlp.models.Task
keras_nlp.models.Classifier
keras_nlp.models.CausalLM
keras_nlp.models.Seq2SeqLM
keras_nlp.models.MaskedLM
- Some initial features for uploading to model hubs.
backbone.save_to_preset
,tokenizer.save_to_preset
,keras_nlp.upload_preset
.from_preset
andupload_preset
now work with the Hugging Face Models Hub.- More features (task saving, lora saving), and full documentation coming soon.
- Numerical fixes for the Gemma model at mixed_bfloat16 precision. Thanks unsloth for catching!
# Llama 2. Needs Kaggle consent and login, see https://github.com/Kaggle/kagglehub
causal_lm = keras_nlp.models.LlamaCausalLM.from_preset(
"llama2_7b_en",
dtype="bfloat16", # Run at half precision for inference.
)
causal_lm.generate("Keras is a", max_length=128)
# Base class usage.
keras_nlp.models.Classifier.from_preset("bert_base_en", num_classes=2)
keras_nlp.models.Tokenizer.from_preset("gemma_2b_en")
keras_nlp.models.CausalLM.from_preset("gpt2_base_en", dtype="mixed_bfloat16")
What's Changed
- Add dtype arg to Gemma HF conversion script by @nkovela1 in #1452
- Fix gemma testing import by @mattdangerw in #1462
- Add docstring for PyTorch conversion script install instructions by @nkovela1 in #1471
- Add an annotation to tests that need kaggle auth by @mattdangerw in #1470
- Fix Mistral memory consumption with JAX and default dtype bug by @tirthasheshpatel in #1460
- Bump the master version to 0.9 by @mattdangerw in #1473
- Pin to TF 2.16 RC0 by @sampathweb in #1478
- Fix gemma rms_normalization's use of epsilon by @cpsauer in #1472
- Add
FalconBackbone
by @SamanehSaadat in #1475 - CI - Add kaggle creds to pull model by @sampathweb in #1459
- bug in example for ReversibleEmbedding by @TheCrazyT in #1484
- doc fix for constrastive sampler by @mattdangerw in #1488
- Remove broken link to masking and padding guide by @mattdangerw in #1487
- Fix a typo in causal_lm_preprocessors by @SamanehSaadat in #1489
- Fix dtype accessors of tasks/backbones by @mattdangerw in #1486
- Auto-labels 'gemma' on 'gemma' issues/PRs. by @shmishra99 in #1490
- Add BloomCausalLM by @abuelnasr0 in #1467
- Remove the bert jupyter conversion notebooks by @mattdangerw in #1492
- Add
FalconTokenizer
by @SamanehSaadat in #1485 - Add
FalconPreprocessor
by @SamanehSaadat in #1498 - Rename 176B presets & Add other presets into bloom_presets.py by @abuelnasr0 in #1496
- Add bloom presets by @abuelnasr0 in #1501
- Create workflow for auto assignment of issues and for stale issues by @sachinprasadhs in #1495
- Update requirements to TF 2.16 by @sampathweb in #1503
- Expose Task and Backbone by @mattdangerw in #1506
- Clean up and add our gemma conversion script by @mattdangerw in #1493
- Don't auto-update JAX GPU by @sampathweb in #1507
- Keep rope at float32 precision by @grasskin in #1497
- Bump the python group with 2 updates by @dependabot in #1509
- Fixes for the LLaMA backbone + add dropout by @tirthasheshpatel in #1499
- Add
LlamaPreprocessor
andLlamaCausalLMPreprocessor
by @tirthasheshpatel in #1511 - Always run the rotary embedding layer in float32 by @tirthasheshpatel in #1508
- CI: Fix psutil - Remove install of Python 3.9 and alias of python3 by @sampathweb in #1514
- Update gemma_backbone.py for sharding config. by @qlzh727 in #1491
- Docs/modelling layers by @mykolaskrynnyk in #1502
- Standardize docstring by @sachinprasadhs in #1516
- Support tokenization of special tokens for word_piece_tokenizer by @abuelnasr0 in #1397
- Upload Model to Kaggle by @SamanehSaadat in #1512
- Add scoring mode to MistralCausalLM by @RyanMullins in #1521
- Add Mistral Instruct V0.2 preset by @tirthasheshpatel in #1520
- Add Tests for Kaggle Upload Validation by @SamanehSaadat in #1524
- Add presets for Electra and checkpoint conversion script by @pranavvp16 in #1384
- Allow saving / loading from Huggingface Hub preset by @Wauplin in #1510
- Stop on multiple end tokens by @grasskin in #1518
- Fix doc:
mistral_base_en
->mistral_7b_en
by @asmith26 in #1528 - Add lora example to GemmaCausalLM docstring by @SamanehSaadat in #1527
- Add LLaMA Causal LM with 7B presets by @tirthasheshpatel in #1526
- Add task base classes; support out of tree library extensions by @mattdangerw in #1517
- Doc fixes by @mattdangerw in #1530
- Run the LLaMA and Mistral RMS Layer Norm in float32 by @tirthasheshpatel in #1532
- Adds score API to GPT-2 by @RyanMullins in #1533
- increase pip timeout to 1000s to avoid connection resets by @sampathweb in #1535
- Adds the score API to LlamaCausalLM by @RyanMullins in #1534
- Implement compute_output_spec() for tokenizers with vocabulary. by @briango28 in #1523
- Remove staggler type annotiations by @mattdangerw in #1536
- Always run SiLU activation in float32 for LLaMA and Mistral by @tirthasheshpatel in #1540
- Bump the python group with 2 updates by @dependabot in #1538
- Disallow saving to preset from keras 2 by @SamanehSaadat in #1545
- Fix the rotary embedding computation in LLaMA by @tirthasheshpatel in #1544
- Fix re-compilation bugs by @mattdangerw in #1541
- Fix preprocessor from_preset bug by @mattdangerw in #1549
- Fix a strange issue with preprocessing layer output types by @mattdangerw in #1550
- Fix lowercase bug in wordpiece tokenizer by @abuelnasr0 in #1543
- Small docs updates by @mattdangerw in #1553
- Add a few new preset for gemma by @mattdangerw in #1556
- Remove the dev prefix for 0.9.0 release by @mattdangerw in #1557
New Contributors
- @cpsauer made their first contribution in #1472
- @SamanehSaadat made their first contribution in #1475
- @TheCrazyT made their first contribution in #1484
- @shmishra99 made their first contribution in #1490
- @sachinprasadhs made their first contribution in #1495
- @mykolaskrynnyk made their first contribution in #1502
- @RyanMullins made their first contribution in #1521
- @Wauplin made their first contribution in #1510
- @asmith26 made their first contribution in #1528
- @briango28 made their first contribution in #1523
Full Changelog: v0.8.2...v0.9.0