diff --git a/CHANGELOG.md b/CHANGELOG.md index 8346f352..c07ef736 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,39 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v0.6.0](https://github.com/elixir-nx/bumblebee/tree/v0.6.0) (2024-10-08) + +### Added + +* Notebook about Retrieval-Augmented Generation (RAG) ([#353](https://github.com/elixir-nx/bumblebee/pull/353)) +* Phi model ([#356](https://github.com/elixir-nx/bumblebee/pull/356)) +* Gemma model ([#358](https://github.com/elixir-nx/bumblebee/pull/358)) +* Support for input streaming in Whisper serving ([#361](https://github.com/elixir-nx/bumblebee/pull/361)) +* Stable Diffusion ControlNet model ([#359](https://github.com/elixir-nx/bumblebee/pull/359)) +* Support for multiple EOS tokens in text generation ([#368](https://github.com/elixir-nx/bumblebee/pull/368)) +* Phi-3 model ([#374](https://github.com/elixir-nx/bumblebee/pull/374)) +* Support for Llama 3 ([#387](https://github.com/elixir-nx/bumblebee/pull/387)) +* Support for CLS token pooling in text embedding ([#385](https://github.com/elixir-nx/bumblebee/pull/385)) +* Support for HTTP proxies ([#391](https://github.com/elixir-nx/bumblebee/pull/391)) +* M2M100 and NLLB models ([#392](https://github.com/elixir-nx/bumblebee/pull/392)) +* Multilingual translation serving (`Bumblebee.Text.translation/4`) ([#395](https://github.com/elixir-nx/bumblebee/pull/395)) +* Swin model ([#394](https://github.com/elixir-nx/bumblebee/pull/394)) + +### Changed + +* **(Breaking)** Renamed `:use_qkv_bias` spec option to `:use_attention_bias` in ViT, DeiT and DINOv2 +* **(Breaking)** Changed spec options for optional outputs (`:output_hidden_states`, `:output_attentions`) to global layer options ([#360](https://github.com/elixir-nx/bumblebee/pull/360)) +* Whisper serving to stream input using ffmpeg when given a file path ([#361](https://github.com/elixir-nx/bumblebee/pull/361)) +* **(Breaking)** Changed model params to use `%Axon.ModelState{}`, matching Axon v0.7.0 ([#375](https://github.com/elixir-nx/bumblebee/pull/375)) + +### Removed + +### Fixed + +* Token classification crashing when all tokens are special +* Batched text generation finishing too early +* Crash on empty list of entities when aggregating entities in token classification ([#386](https://github.com/elixir-nx/bumblebee/pull/386)) + ## [v0.5.3](https://github.com/elixir-nx/bumblebee/tree/v0.5.3) (2024-02-26) ### Fixed diff --git a/README.md b/README.md index 50209af3..01640c49 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ First add Bumblebee and EXLA as dependencies in your `mix.exs`. EXLA is an optio ```elixir def deps do [ - {:bumblebee, "~> 0.5.3"}, + {:bumblebee, "~> 0.6.0"}, {:exla, ">= 0.0.0"} ] end @@ -47,7 +47,7 @@ In notebooks and scripts, use the following `Mix.install/2` call to both install ```elixir Mix.install( [ - {:bumblebee, "~> 0.5.3"}, + {:bumblebee, "~> 0.6.0"}, {:exla, ">= 0.0.0"} ], config: [nx: [default_backend: EXLA.Backend]] diff --git a/examples/phoenix/image_classification.exs b/examples/phoenix/image_classification.exs index 89a340e0..d77f0c7c 100644 --- a/examples/phoenix/image_classification.exs +++ b/examples/phoenix/image_classification.exs @@ -12,9 +12,9 @@ Mix.install([ {:phoenix, "1.7.10"}, {:phoenix_live_view, "0.20.1"}, # Bumblebee and friends - {:bumblebee, "~> 0.5.0"}, - {:nx, "~> 0.7.0"}, - {:exla, "~> 0.7.0"} + {:bumblebee, "~> 0.6.0"}, + {:nx, "~> 0.9.0"}, + {:exla, "~> 0.9.0"} ]) Application.put_env(:nx, :default_backend, EXLA.Backend) diff --git a/examples/phoenix/speech_to_text.exs b/examples/phoenix/speech_to_text.exs index 0bdd1ad9..7db93fee 100644 --- a/examples/phoenix/speech_to_text.exs +++ b/examples/phoenix/speech_to_text.exs @@ -12,9 +12,9 @@ Mix.install([ {:phoenix, "1.7.10"}, {:phoenix_live_view, "0.20.1"}, # Bumblebee and friends - {:bumblebee, "~> 0.5.0"}, - {:nx, "~> 0.7.0"}, - {:exla, "~> 0.7.0"} + {:bumblebee, "~> 0.6.0"}, + {:nx, "~> 0.9.0"}, + {:exla, "~> 0.9.0"} ]) Application.put_env(:nx, :default_backend, EXLA.Backend) diff --git a/examples/phoenix/text_classification.exs b/examples/phoenix/text_classification.exs index 193abc1f..63436959 100644 --- a/examples/phoenix/text_classification.exs +++ b/examples/phoenix/text_classification.exs @@ -11,9 +11,9 @@ Mix.install([ {:phoenix, "1.7.10"}, {:phoenix_live_view, "0.20.1"}, # Bumblebee and friends - {:bumblebee, "~> 0.5.0"}, - {:nx, "~> 0.7.0"}, - {:exla, "~> 0.7.0"} + {:bumblebee, "~> 0.6.0"}, + {:nx, "~> 0.9.0"}, + {:exla, "~> 0.9.0"} ]) Application.put_env(:nx, :default_backend, EXLA.Backend) diff --git a/mix.exs b/mix.exs index 495da218..0d5a669f 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule Bumblebee.MixProject do use Mix.Project - @version "0.5.3" + @version "0.6.0" @description "Pre-trained and transformer Neural Network models in Axon" def project do diff --git a/notebooks/examples.livemd b/notebooks/examples.livemd index afb0cf06..18023eb5 100644 --- a/notebooks/examples.livemd +++ b/notebooks/examples.livemd @@ -2,11 +2,11 @@ ```elixir Mix.install([ - {:bumblebee, "~> 0.5.0"}, - {:nx, "~> 0.7.0"}, - {:exla, "~> 0.7.0"}, - {:axon, "~> 0.6.1"}, - {:kino, "~> 0.12.0"} + {:bumblebee, "~> 0.6.0"}, + {:nx, "~> 0.9.0"}, + {:exla, "~> 0.9.0"}, + {:axon, "~> 0.7.0"}, + {:kino, "~> 0.14.0"} ]) Nx.global_default_backend(EXLA.Backend) diff --git a/notebooks/llms.livemd b/notebooks/llms.livemd index c857042c..bf2474ce 100644 --- a/notebooks/llms.livemd +++ b/notebooks/llms.livemd @@ -2,10 +2,10 @@ ```elixir Mix.install([ - {:bumblebee, "~> 0.5.0"}, - {:nx, "~> 0.7.0"}, - {:exla, "~> 0.7.0"}, - {:kino, "~> 0.12.0"} + {:bumblebee, "~> 0.6.0"}, + {:nx, "~> 0.9.0"}, + {:exla, "~> 0.9.0"}, + {:kino, "~> 0.14.0"} ]) Nx.global_default_backend({EXLA.Backend, client: :host}) diff --git a/notebooks/llms_rag.livemd b/notebooks/llms_rag.livemd index b1e98003..a3f257f3 100644 --- a/notebooks/llms_rag.livemd +++ b/notebooks/llms_rag.livemd @@ -2,12 +2,12 @@ ```elixir Mix.install([ - {:bumblebee, "~> 0.5.3"}, - {:nx, "~> 0.7.0"}, - {:exla, "~> 0.7.0"}, - {:kino, "~> 0.11.0"}, + {:bumblebee, "~> 0.6.0"}, + {:nx, "~> 0.9.0"}, + {:exla, "~> 0.9.0"}, + {:kino, "~> 0.14.0"}, {:hnswlib, "~> 0.1.5"}, - {:req, "~> 0.4.0"} + {:req, "~> 0.5.0"} ]) Nx.global_default_backend(EXLA.Backend) diff --git a/notebooks/stable_diffusion.livemd b/notebooks/stable_diffusion.livemd index 52c41ffa..5ef23cad 100644 --- a/notebooks/stable_diffusion.livemd +++ b/notebooks/stable_diffusion.livemd @@ -2,10 +2,10 @@ ```elixir Mix.install([ - {:bumblebee, "~> 0.5.0"}, - {:nx, "~> 0.7.0"}, - {:exla, "~> 0.7.0"}, - {:kino, "~> 0.12.0"} + {:bumblebee, "~> 0.6.0"}, + {:nx, "~> 0.9.0"}, + {:exla, "~> 0.9.0"}, + {:kino, "~> 0.14.0"} ]) Nx.global_default_backend({EXLA.Backend, client: :host})