From 40ee98e82901c68f1d53fc1f925e1c594f895fba Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 16:13:29 -0400 Subject: [PATCH 01/23] feat: add LFM2-Audio / LFM2.5-Audio speech input support LFM2-Audio pairs a FastConformer speech encoder with an LFM2 decoder. Nothing here could read its checkpoints or turn a sound into something the model could read. - Adds audio handling for LFM2-Audio: turn the sound into log-mel frames the way the original does, hand them to the speech encoder, and splice what comes back into the prompt. - Swaps each `<|audio|>` marker in the prompt for the right number of empty slots, so the sound and the text line up. The prompt has to carry exactly one marker per clip, in clip order; any other count is refused up front rather than guessed at. One prompt at a time: a one-item list works, longer lists are refused instead of silently losing the text. - Reads these checkpoints in the model builder. They have no model type and no transformers class: the text half sits nested inside the config next to the encoder and the speech-output parts, so it is picked out by hand and everything else left alone. - Registers the two new model names, so the loader knows how to run them: one for the speech model, one for its text half. - Several clips in one prompt share the prompt but not the encoder run: the published encoder was exported for one clip at a time, so each clip is run on its own frames and the results joined in order. - Adds a tutorial. Known gap: the model can also speak, and that is not supported here; it answers in text only. --- .gitignore | 2 + README.md | 2 +- examples/python/common.py | 5 + examples/python/lfm2-audio-tutorial.md | 264 +++++++++ src/config.cpp | 2 + src/config.h | 2 + src/generator/generators.cpp | 2 +- src/models/model.cpp | 2 + src/models/model_type.h | 14 +- src/models/multi_modal.cpp | 141 ++++- src/models/multi_modal.h | 28 +- .../preprocessing/lfm2_audio_processor.cpp | 320 +++++++++++ .../preprocessing/lfm2_audio_processor.h | 66 +++ .../preprocessing/multi_modal_processor.cpp | 2 + src/python/py/models/README.md | 2 +- src/python/py/models/builder.py | 11 +- src/python/py/models/builders/__init__.py | 4 +- src/python/py/models/builders/lfm2.py | 87 +++ src/python/python.cpp | 23 +- test/CMakeLists.txt | 2 + test/cpp/lfm2_audio_frames_test.cpp | 157 +++++ test/models/lfm2-audio/dummy_embedding.onnx | Bin 0 -> 132039 bytes test/models/lfm2-audio/dummy_speech.onnx | Bin 0 -> 17148 bytes test/models/lfm2-audio/dummy_text.onnx | Bin 0 -> 133917 bytes test/models/lfm2-audio/genai_config.json | 88 +++ test/models/lfm2-audio/tokenizer.zip | Bin 0 -> 879624 bytes test/python/builder/test_lfm2_audio.py | 179 ++++++ test/python/builder/test_qmoe_weights.py | 3 + .../create/create_dummy_lfm2_audio_models.py | 223 +++++++ test/python/models/test_lfm2_audio_models.py | 542 ++++++++++++++++++ test/python/test_onnxruntime_genai_api.py | 20 + 31 files changed, 2174 insertions(+), 19 deletions(-) create mode 100644 examples/python/lfm2-audio-tutorial.md create mode 100644 src/models/preprocessing/lfm2_audio_processor.cpp create mode 100644 src/models/preprocessing/lfm2_audio_processor.h create mode 100644 test/cpp/lfm2_audio_frames_test.cpp create mode 100644 test/models/lfm2-audio/dummy_embedding.onnx create mode 100644 test/models/lfm2-audio/dummy_speech.onnx create mode 100644 test/models/lfm2-audio/dummy_text.onnx create mode 100644 test/models/lfm2-audio/genai_config.json create mode 100644 test/models/lfm2-audio/tokenizer.zip create mode 100644 test/python/builder/test_lfm2_audio.py create mode 100644 test/python/create/create_dummy_lfm2_audio_models.py create mode 100644 test/python/models/test_lfm2_audio_models.py diff --git a/.gitignore b/.gitignore index 8ae4ae3b23..033ba3233b 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,8 @@ examples/python/hf_cache examples/csharp/ModelChat/models !test/models/gemma4/* +!/test/models/lfm2-audio/ +!test/models/lfm2-audio/* !test/models/hf-internal-testing/* !test/models/lfm2-vl/* !test/models/marian-batch/* diff --git a/README.md b/README.md index a4b7251a1f..478b565734 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ See documentation at the [ONNX Runtime website](https://onnxruntime.ai/docs/gena | Support matrix | Supported now | Under development | On the roadmap| | -------------- | ------------- | ----------------- | -------------- | -| Model architectures | AMD OLMo
ChatGLM
DeepSeek
ERNIE 4.5
Fara
Gemma
gpt-oss
Granite
Granite MoE Hybrid
HunYuan Dense V1
InternLM2
LFM2 (language + vision)
Llama
Mistral
Nemotron
Phi (language + vision)
Qwen (language + vision)
SmolLM3
Whisper | Stable diffusion | Multi-modal models | +| Model architectures | AMD OLMo
ChatGLM
DeepSeek
ERNIE 4.5
Fara
Gemma
gpt-oss
Granite
Granite MoE Hybrid
HunYuan Dense V1
InternLM2
LFM2 (language + vision + speech input)
Llama
Mistral
Nemotron
Phi (language + vision)
Qwen (language + vision)
SmolLM3
Whisper | Stable diffusion | Multi-modal models | | API | Python
C#
C/C++
Java ^ | Objective-C || | O/S | Linux
Windows
Mac
Android || iOS ||| | Architecture | x86
x64
arm64 |||| diff --git a/examples/python/common.py b/examples/python/common.py index bf23a6914e..a5f408a0a6 100644 --- a/examples/python/common.py +++ b/examples/python/common.py @@ -322,6 +322,11 @@ def get_user_content(model_type: str, num_images: int, num_audios: int, prompt: # per projected vision feature, and <|image_end|>, based on the resized image's patch grid. image_tags = "".join(["" for _ in range(num_images)]) content = image_tags + prompt + elif model_type == "lfm2_audio": + # LFM2-Audio: the C++ audio processor replaces each <|audio|> with one placeholder per + # encoder frame (one per 80 ms of audio) and splices the encoder output in at those positions. + audio_tags = "".join(["<|audio|>" for _ in range(num_audios)]) + content = audio_tags + prompt elif model_type == "mistral3": # Pixtral / Ministral-3 VLM: the C++ image processor expands each # [IMG] into the full token sequence based on image resolution. diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md new file mode 100644 index 0000000000..edfbc5dbfc --- /dev/null +++ b/examples/python/lfm2-audio-tutorial.md @@ -0,0 +1,264 @@ +# Build your LFM2-Audio / LFM2.5-Audio ONNX models for ONNX Runtime GenAI + +LFM2-Audio pairs a FastConformer speech encoder (based on +[nvidia/canary-180m-flash](https://huggingface.co/nvidia/canary-180m-flash)) with an LFM2 decoder +(the hybrid conv/attention model described in +[the LFM2 support PR](https://github.com/microsoft/onnxruntime-genai/pull/1979)). ONNX Runtime GenAI +runs the speech-to-text half of it — ASR and spoken-prompt chat — as three ONNX models: + +| Model | Inputs | Outputs | +| --- | --- | --- | +| `speech.onnx` | `mel_spectrogram`, `mel_lengths` | `audio_embeddings`, `audio_lengths` | +| `embeddings.onnx` | `input_ids`, `audio_features` | `inputs_embeds` | +| `model.onnx` (decoder) | `inputs_embeds`, `attention_mask`, `position_ids`, KV + conv cache | `logits` | + +Only the decoder is produced by the model builder in this repository; the speech encoder is +published as ONNX by LiquidAI, and the embedding model is a small graph you build once. + +**Audio output is not supported.** The model can also *speak*: it emits audio codes through an +RQ-transformer ("depthformer") that ONNX Runtime GenAI has no generation loop for, and those codes +then need the audio detokenizer and an inverse STFT to become a waveform. The export below drops the +depthformer and the audio embeddings with it, so the model answers in text only. See +[Known limitations](#5-known-limitations). + +## Steps + +1. [Build the decoder](#1-build-the-decoder) +2. [Get the speech encoder and build the embedding model](#2-get-the-speech-encoder-and-build-the-embedding-model) +3. [Write `genai_config.json`](#3-write-genai_configjson) +4. [Run the model](#4-run-the-model) +5. [Known limitations](#5-known-limitations) + +## 1. Build the decoder + +```bash +# Download the PyTorch model +$ huggingface-cli download LiquidAI/LFM2.5-Audio-1.5B --local-dir ./lfm2.5-audio/pytorch + +# Build the decoder as INT4 with FP32 inputs/outputs for CPU +$ python3 -m onnxruntime_genai.models.builder \ + -i ./lfm2.5-audio/pytorch \ + -o ./lfm2.5-audio/cpu \ + -p int4 \ + -e cpu \ + --extra_options exclude_embeds=true +``` + +The checkpoint has no `model_type` and no transformers model class: its `config.json` nests the LFM2 +decoder config under `"lfm"`, next to the speech encoder, depthformer and mel front-end settings, and +the checkpoint stores the decoder under the `lfm.` prefix. The builder recognizes +`Lfm2AudioForConditionalGeneration`, reads that nested config and loads only the decoder, whose +logits are tied to the token embeddings. + +`exclude_embeds=true` is what makes this a speech pipeline stage: the decoder then takes +`inputs_embeds` instead of `input_ids`, so the embedding model can splice the encoder output into the +token embeddings before the decoder runs. The builder writes `"type": "lfm2_audio"` into +`genai_config.json` for this case, and `"type": "lfm2_audio_text"` when the flag is omitted — that +second form is a plain text-only LFM2 model that happens to come from an audio checkpoint, and it +runs through the normal `AppendTokens` path with no speech or embedding model. + +## 2. Get the speech encoder and build the embedding model + +The speech encoder is `onnx/audio_encoder.onnx` in +[LiquidAI/LFM2.5-Audio-1.5B-ONNX](https://huggingface.co/LiquidAI/LFM2.5-Audio-1.5B-ONNX) +(`audio_encoder_fp16.onnx` and `audio_encoder_q4.onnx` are there too). Download the graph together +with every `*.onnx_data*` file next to it. It has the signature ONNX Runtime GenAI expects: + +| Name | Shape | Type | +| --- | --- | --- | +| `mel_spectrogram` (input) | `[num_clips, num_frames, 128]` | float | +| `mel_lengths` (input) | `[num_clips]` | int64 | +| `audio_embeddings` (output) | `[num_clips, ceil(num_frames / 8), hidden_size]` | float | +| `audio_lengths` (output) | `[num_clips]` | int64 | + +The encoder subsamples the mel frames by 8 (three stride-2 convolutions) and its adapter projects the +result to the decoder's hidden size, so one output frame covers 80 ms of audio. The `audio_lengths` +output is not read by the runtime — the runtime derives the same counts itself so it can size the +prompt before the encoder runs — but the graph produces it and the input it shares with +`mel_lengths` matters: the encoder masks the padding of a batched run with it. + +The embedding model looks up `input_ids` in the decoder's embedding table and scatters +`audio_features` into the positions holding the audio placeholder token. Build it from +`lfm.embed_tokens.weight` in the checkpoint: + +```python +import json +from pathlib import Path + +import numpy as np +import onnx +from onnx import TensorProto, helper, numpy_helper +from safetensors.torch import load_file + +pytorch_dir = Path("./lfm2.5-audio/pytorch") +output_dir = Path("./lfm2.5-audio/cpu") + +config = json.loads((pytorch_dir / "config.json").read_text())["lfm"] +hidden_size, vocab_size = config["hidden_size"], config["vocab_size"] +# Pick any id the text never uses; it must match model.audio_token_id in genai_config.json. +audio_token_id = 133 # <|reserved_123|> + +embed_weight = load_file(pytorch_dir / "model.safetensors")["lfm.embed_tokens.weight"] +table = numpy_helper.from_array(embed_weight.float().numpy(), name="embed_tokens.weight") + +graph = helper.make_graph( + [ + helper.make_node("Gather", ["embed_tokens.weight", "input_ids"], ["text_embeds"], axis=0), + helper.make_node("Shape", ["text_embeds"], ["embeds_shape"]), + helper.make_node("Reshape", ["text_embeds", "flat_rows"], ["flat_embeds"]), + helper.make_node("Reshape", ["input_ids", "flat"], ["flat_ids"]), + helper.make_node("Equal", ["flat_ids", "audio_token_id"], ["is_audio"]), + helper.make_node("NonZero", ["is_audio"], ["audio_positions_t"]), + helper.make_node("Transpose", ["audio_positions_t"], ["audio_positions"], perm=[1, 0]), + helper.make_node("ScatterND", ["flat_embeds", "audio_positions", "audio_features"], ["merged"]), + helper.make_node("Reshape", ["merged", "embeds_shape"], ["inputs_embeds"]), + ], + "embedding", + [ + helper.make_tensor_value_info("input_ids", TensorProto.INT64, ["batch_size", "sequence_length"]), + helper.make_tensor_value_info("audio_features", TensorProto.FLOAT, ["num_audio_tokens", hidden_size]), + ], + [helper.make_tensor_value_info("inputs_embeds", TensorProto.FLOAT, ["batch_size", "sequence_length", hidden_size])], + initializer=[ + table, + numpy_helper.from_array(np.array([-1, hidden_size], np.int64), name="flat_rows"), + numpy_helper.from_array(np.array([-1], np.int64), name="flat"), + numpy_helper.from_array(np.array(audio_token_id, np.int64), name="audio_token_id"), + ], +) +model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 17)], ir_version=8) +onnx.checker.check_model(model) +onnx.save(model, output_dir / "embeddings.onnx", save_as_external_data=True, location="embeddings.onnx.data") +``` + +## 3. Write `genai_config.json` + +Add `embedding` and `speech` sections and an `audio_token_id` to the `genai_config.json` the builder +produced. Leave the `decoder` and `search` sections it wrote alone: + +```json +{ + "model": { + "audio_token_id": 133, + "bos_token_id": 1, + "context_length": 32768, + "decoder": { "...": "written by the model builder" }, + "embedding": { + "filename": "embeddings.onnx", + "inputs": { + "input_ids": "input_ids", + "audio_features": "audio_features" + }, + "outputs": { + "inputs_embeds": "inputs_embeds" + }, + "session_options": { + "log_id": "onnxruntime-genai", + "provider_options": [] + } + }, + "eos_token_id": 7, + "pad_token_id": 0, + "speech": { + "filename": "speech.onnx", + "inputs": { + "audio_embeds": "mel_spectrogram", + "audio_lengths": "mel_lengths", + "audio_sizes": "audio_sizes" + }, + "outputs": { + "audio_features": "audio_embeddings" + }, + "session_options": { + "log_id": "onnxruntime-genai", + "provider_options": [] + } + }, + "type": "lfm2_audio", + "vocab_size": 65536 + }, + "search": { "...": "written by the model builder" } +} +``` + +`audio_sizes` is not an encoder input; the name only tells the runtime what to call the per-clip +token counts it computes, so leave it as is unless it collides with a real input of your graph. +`audio_token_id` must be the id the embedding model scatters over, and must not be an id the +tokenizer can emit for ordinary text — the reserved range of the LFM2 tokenizer is the natural home +for it. + +The audio front end needs no configuration file: it defaults to the settings every published +LFM2-Audio checkpoint shares (`"preprocessor"` in `config.json`), which are NeMo's +`AudioToMelSpectrogramPreprocessor`: + +| Setting | Value | `genai_config.json` override | +| --- | --- | --- | +| Sample rate | 16000 | `model.sample_rate` | +| Mel bins | 128 | `model.num_mels` | +| FFT size | 512 | `model.fft_size` | +| Window | 400 samples (25 ms), symmetric Hann | `model.win_length` | +| Hop | 160 samples (10 ms) | `model.hop_length` | +| Pre-emphasis | 0.97 | `model.preemph` | +| Log guard | 2⁻²⁴ | `model.log_eps` | +| Normalization epsilon | 1e-5 | `model.norm_eps` | +| Encoder subsampling | 8 | `model.subsampling_factor` | + +Set the overrides only for a fine-tune that changed them; the defaults already match all the +published models. + +## 4. Run the model + +[`model-mm.py`](model-mm.py) drives any multi-modal model in this repository: + +```bash +$ python3 model-mm.py -m ./lfm2.5-audio/cpu -e cpu --audio_paths ./question.wav +``` + +The prompt must hold exactly one `<|audio|>` marker per clip, in clip order; the processor rejects +any other count rather than guessing, and it accepts one prompt at a time (a single-entry list is +fine, batching is not). The C++ audio processor replaces each marker with one `audio_token_id` per +encoder frame, so the number of placeholders always matches the number of features the encoder +produced. Text on either side of a marker is tokenized on its own, which is what +`liquid_audio.ChatState` does. + +LFM2-Audio has no audio token of its own and no chat-template entry for audio: `<|audio|>` is this +runtime's marker, the same role `` plays for LFM2-VL. The system prompt selects the task, as +in the reference implementation: + +| Task | System prompt | +| --- | --- | +| Transcription | `Perform ASR.` | +| Spoken question, text answer | `Respond with interleaved text and audio.` (the text half of the answer) | + +``` +<|startoftext|><|im_start|>system +Perform ASR.<|im_end|> +<|im_start|>user +<|audio|><|im_end|> +<|im_start|>assistant +``` + +## 5. Known limitations + +**Audio output is not supported.** Interleaved and TTS generation need the depthformer, which +predicts 8 codebook entries per 80 ms audio frame in an inner autoregressive loop, plus the audio +detokenizer and an inverse STFT to turn those codes into a waveform. ONNX Runtime GenAI's generation +loop samples one token stream, so none of that has a home here yet. The model still answers in text +when asked to; a prompt that asks it to speak makes it emit `<|audio_start|>` and then codes the +runtime has nothing to do with. LiquidAI ships `vocoder_depthformer.onnx` and +`audio_detokenizer.onnx` in the ONNX repository, and their +[onnx-export](https://github.com/Liquid4All/onnx-export) repository drives them from Python. + +**One prompt at a time.** Several clips in one prompt work and share a single encoder run, but +batched prompts are refused. + +**Audio is not chunked.** The whole clip goes through the encoder in one run, and one hour of audio +is 450k mel frames, so memory grows with the clip length. The reference implementation has the same +shape; for long-form transcription, split the audio yourself. + +**The mel front end differs from the reference by about 1e-4.** It computes the same NeMo pipeline in +float32 where the reference uses float64 intermediates in places, and the FFT is a different +implementation. The difference is far below the audio's own quantization noise. + +**Dither is off, as in the reference's eval mode.** NeMo adds 1e-5 of white noise to the samples +during training only; the runtime never does. diff --git a/src/config.cpp b/src/config.cpp index dbf91c4420..8f2ea33af7 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -1473,6 +1473,8 @@ struct SpeechInputs_Element : JSON::Element { v_.attention_mask = JSON::Get(value); } else if (name == "audio_sizes") { v_.audio_sizes = JSON::Get(value); + } else if (name == "audio_lengths") { + v_.audio_lengths = JSON::Get(value); } else if (name == "audio_projection_mode") { v_.audio_projection_mode = JSON::Get(value); } else { diff --git a/src/config.h b/src/config.h index 6c5a53ae1a..21ef67fb66 100644 --- a/src/config.h +++ b/src/config.h @@ -48,6 +48,7 @@ struct Config { // Speech encoder names static constexpr std::string_view AudioAttentionMaskName = "audio_attention_mask"; static constexpr std::string_view AudioSizesName = "audio_sizes"; + static constexpr std::string_view AudioLengthsName = "audio_lengths"; static constexpr std::string_view AudioProjectionModeName = "audio_projection_mode"; static constexpr std::string_view AudioFeaturesName = "audio_features"; static constexpr std::string_view NumAudioTokens = "num_audio_tokens"; @@ -317,6 +318,7 @@ struct Config { std::string audio_embeds{Defaults::AudioEmbedsName}; std::string attention_mask{Defaults::AudioAttentionMaskName}; std::string audio_sizes{Defaults::AudioSizesName}; + std::string audio_lengths{Defaults::AudioLengthsName}; // per-clip valid frame count of audio_embeds (LFM2-Audio) std::string audio_projection_mode{Defaults::AudioProjectionModeName}; } inputs; diff --git a/src/generator/generators.cpp b/src/generator/generators.cpp index 3aa35ec4af..26411799d1 100644 --- a/src/generator/generators.cpp +++ b/src/generator/generators.cpp @@ -964,7 +964,7 @@ SpeculativeStats Generator::GetSpeculativeStats() const { void Generator::RewindToLength(size_t new_length) { const auto& model_type = model_->config_->model.type; if (model_type == "whisper" || model_type == "phi3v" || model_type == "decoder-pipeline" || - ModelType::IsLFM2(model_type) || model_type == "lfm2_vl") + ModelType::IsLFM2(model_type) || model_type == "lfm2_vl" || model_type == "lfm2_audio") throw std::runtime_error("RewindTo is currently not supported for " + model_type + "."); const size_t current_length = search_->GetSequenceLength(); if (new_length > current_length) diff --git a/src/models/model.cpp b/src/models/model.cpp index 3c5ce16614..e11e28ccae 100644 --- a/src/models/model.cpp +++ b/src/models/model.cpp @@ -946,6 +946,8 @@ std::shared_ptr CreateModel(OrtEnv& ort_env, std::unique_ptr conf return std::make_shared(std::move(config), ort_env); if (ModelType::IsTDT(config->model.type)) return std::make_shared(std::move(config), ort_env); + if (config->model.type == "lfm2_audio") + return std::make_shared(std::move(config), ort_env, /*vision=*/false, /*speech=*/true); if (ModelType::IsALM(config->model.type)) return std::make_shared(std::move(config), ort_env); if (ModelType::IsVLM(config->model.type)) diff --git a/src/models/model_type.h b/src/models/model_type.h index 90fe98f7a9..ab489a8c43 100644 --- a/src/models/model_type.h +++ b/src/models/model_type.h @@ -17,7 +17,7 @@ namespace Generators { struct ModelType { inline static bool IsLLM(const std::string& model_type) { // Large-language model (LLM) - static constexpr std::array LLM = {"chatglm", "decoder", "ernie4_5", "gemma", "gemma2", "gemma3_text", "gemma3_vl_text", "gemma4_text", "gpt2", "gptoss", "granite", "granitemoehybrid", "hunyuandensev1", "internlm2", "lfm2", "lfm2_moe", "lfm2_vl_text", "llama", "mistral", "mistral3_text", "nemotron", "olmo", "phi", "phimoe", "phi3", "phi3small", "qwen2", "qwen2_5_vl_text", "qwen3", "qwen3_vl_text", "qwen3_5_moe_text", "qwen3_5_text", "smollm3"}; + static constexpr std::array LLM = {"chatglm", "decoder", "ernie4_5", "gemma", "gemma2", "gemma3_text", "gemma3_vl_text", "gemma4_text", "gpt2", "gptoss", "granite", "granitemoehybrid", "hunyuandensev1", "internlm2", "lfm2", "lfm2_audio_text", "lfm2_moe", "lfm2_vl_text", "llama", "mistral", "mistral3_text", "nemotron", "olmo", "phi", "phimoe", "phi3", "phi3small", "qwen2", "qwen2_5_vl_text", "qwen3", "qwen3_vl_text", "qwen3_5_moe_text", "qwen3_5_text", "smollm3"}; return std::find(LLM.begin(), LLM.end(), model_type) != LLM.end(); } @@ -28,8 +28,9 @@ struct ModelType { } inline static bool IsALM(const std::string& model_type) { - // Audio-language model (ALM) - static constexpr std::array ALM = {"whisper"}; + // Audio-language model (ALM): audio in, text out. "lfm2_audio" runs the multi-modal pipeline + // (speech encoder -> embedding -> LFM2 decoder), "whisper" its own encoder-decoder model. + static constexpr std::array ALM = {"lfm2_audio", "whisper"}; return std::find(ALM.begin(), ALM.end(), model_type) != ALM.end(); } @@ -76,9 +77,10 @@ struct ModelType { inline static bool IsLFM2(const std::string& model_type) { // Liquid Foundation Model 2: hybrid attention/conv architecture with conv state cache. // The MoE variant (LFM2-8B-A1B, LFM2.5-8B-A1B, LFM2-24B-A2B) has the same runtime shape, and - // "lfm2_vl_text" is an LFM2-VL checkpoint exported as a plain text decoder; both have the same - // conv/attention layer mix and need the same conv state cache. - return model_type == "lfm2" || model_type == "lfm2_moe" || model_type == "lfm2_vl_text"; + // "lfm2_vl_text" / "lfm2_audio_text" are LFM2-VL / LFM2-Audio checkpoints exported as plain text + // decoders; all have the same conv/attention layer mix and need the same conv state cache. + return model_type == "lfm2" || model_type == "lfm2_moe" || model_type == "lfm2_vl_text" || + model_type == "lfm2_audio_text"; } }; diff --git a/src/models/multi_modal.cpp b/src/models/multi_modal.cpp index 911f284b6f..0fcb6abeed 100644 --- a/src/models/multi_modal.cpp +++ b/src/models/multi_modal.cpp @@ -603,6 +603,145 @@ DeviceSpan SpeechState::Run(int current_length, DeviceSpan& next return {}; } +void Lfm2AudioSpeechState::SetExtraInputs(const std::vector& extra_inputs, const int64_t num_audio_tokens) { + SpeechState::SetExtraInputs(extra_inputs, num_audio_tokens); + + // audio_sizes holds the decoder tokens each clip contributes; its sum is num_audio_tokens. + tokens_per_clip_.clear(); + for (const auto& input : extra_inputs) { + if (input.name == model_.config_->model.speech.inputs.audio_sizes) { + const auto info = input.tensor->ort_tensor_->GetTensorTypeAndShapeInfo(); + const int64_t* sizes = input.tensor->ort_tensor_->GetTensorData(); + tokens_per_clip_.assign(sizes, sizes + info->GetElementCount()); + break; + } + } +} + +DeviceSpan Lfm2AudioSpeechState::Run(int current_length, DeviceSpan& next_tokens, DeviceSpan next_indices) { + if (model_.config_->model.speech.run_options.has_value()) { + State::SetRunOptions(model_.config_->model.speech.run_options.value()); + } + // A single clip fills the whole mel tensor and the whole feature buffer; run it as it stands. + if (tokens_per_clip_.size() <= 1) { + State::Run(*model_.speech_session_); + return {}; + } + + const auto& mel_name = model_.config_->model.speech.inputs.audio_embeds; + const auto& lengths_name = model_.config_->model.speech.inputs.audio_lengths; + const size_t mel_index = FindInput(mel_name); + const size_t lengths_index = FindInput(lengths_name); + const size_t features_index = FindOutput(model_.config_->model.speech.outputs.audio_features); + + OrtValue* mel_batch = inputs_[mel_index]; + OrtValue* lengths = inputs_[lengths_index]; + OrtValue* features = outputs_[features_index]; + + const auto mel_info = mel_batch->GetTensorTypeAndShapeInfo(); + const auto mel_shape = mel_info->GetShape(); // [num_clips, longest_clip, num_mels] + if (mel_shape.size() != 3) { + throw std::runtime_error("Lfm2AudioSpeechState: expected a 3D [num_clips, num_frames, num_mels] mel tensor, got rank " + + std::to_string(mel_shape.size()) + "."); + } + const int64_t num_clips = mel_shape[0]; + const int64_t longest_clip = mel_shape[1]; + const int64_t num_mels = mel_shape[2]; + if (num_clips != static_cast(tokens_per_clip_.size())) { + throw std::runtime_error("Lfm2AudioSpeechState: the mel tensor holds " + std::to_string(num_clips) + + " clips but audio_sizes has " + std::to_string(tokens_per_clip_.size()) + " entries."); + } + const int64_t total = std::accumulate(tokens_per_clip_.begin(), tokens_per_clip_.end(), int64_t{0}); + if (total != num_audio_tokens_) { + throw std::runtime_error("Lfm2AudioSpeechState: audio_sizes sums to " + std::to_string(total) + " tokens but " + + std::to_string(num_audio_tokens_) + " were expected."); + } + + const auto mel_type = mel_info->GetElementType(); + const size_t mel_element_size = Ort::SizeOf(mel_type); + const auto lengths_info = lengths->GetTensorTypeAndShapeInfo(); + if (static_cast(lengths_info->GetElementCount()) != num_clips) { + throw std::runtime_error("Lfm2AudioSpeechState: the mel tensor holds " + std::to_string(num_clips) + " clips but " + + lengths_name + " has " + std::to_string(lengths_info->GetElementCount()) + " entries."); + } + const int64_t* frames_per_clip = lengths->GetTensorData(); + + const auto features_info = features->GetTensorTypeAndShapeInfo(); + const auto features_type = features_info->GetElementType(); + const auto features_shape = features_info->GetShape(); // [batch, num_audio_tokens, hidden_size] + // Several clips are concatenated into one prompt, which the pipeline only ever builds for a single + // sequence; a wider feature buffer would need the whole run repeated per beam. + if (features_shape.size() == 3 && features_shape[0] != 1) { + throw std::runtime_error("Lfm2AudioSpeechState: several audio clips need a batch size of 1, got " + + std::to_string(features_shape[0]) + "."); + } + const int64_t hidden_size = features_shape.back(); + const size_t feature_row_bytes = static_cast(hidden_size) * Ort::SizeOf(features_type); + + auto features_bytes = ByteWrapTensor(*model_.p_device_, *features); + const auto* mel_data = static_cast(mel_batch->GetTensorRawData()); + const size_t clip_stride = static_cast(longest_clip * num_mels) * mel_element_size; + size_t destination = 0; + + // The published encoder export is traced for one clip (its subsampling mask cannot broadcast over + // a batch), so run it once per clip on that clip's own frames — which also keeps the padding out + // of the encoder entirely — and concatenate the results in clip order. + for (int64_t clip = 0; clip < num_clips; ++clip) { + const int64_t num_frames = frames_per_clip[clip]; + if (num_frames <= 0 || num_frames > longest_clip) { + throw std::runtime_error("Lfm2AudioSpeechState: clip " + std::to_string(clip) + " reports " + + std::to_string(num_frames) + " mel frames, outside the 1.." + + std::to_string(longest_clip) + " the mel tensor holds."); + } + const std::vector clip_mel_shape{1, num_frames, num_mels}; + auto clip_mel = OrtValue::CreateTensor(Ort::Allocator::GetWithDefaultOptions(), clip_mel_shape, mel_type); + std::memcpy(clip_mel->GetTensorMutableRawData(), mel_data + static_cast(clip) * clip_stride, + static_cast(num_frames * num_mels) * mel_element_size); + + auto clip_length = OrtValue::CreateTensor(Ort::Allocator::GetWithDefaultOptions(), std::vector{1}); + clip_length->GetTensorMutableData()[0] = num_frames; + + const int64_t clip_tokens = tokens_per_clip_[static_cast(clip)]; + auto clip_features = OrtValue::CreateTensor(model_.p_device_->GetAllocator(), + std::vector{1, clip_tokens, hidden_size}, features_type); + + inputs_[mel_index] = clip_mel.get(); + inputs_[lengths_index] = clip_length.get(); + outputs_[features_index] = clip_features.get(); + State::Run(*model_.speech_session_); + + const size_t clip_bytes = static_cast(clip_tokens) * feature_row_bytes; + features_bytes.subspan(destination, clip_bytes).CopyFrom(ByteWrapTensor(*model_.p_device_, *clip_features)); + destination += clip_bytes; + } + + inputs_[mel_index] = mel_batch; + inputs_[lengths_index] = lengths; + outputs_[features_index] = features; + return {}; +} + +size_t Lfm2AudioSpeechState::FindInput(const std::string& name) const { + for (size_t i = 0; i < input_names_.size(); ++i) { + if (name == input_names_[i]) return i; + } + throw std::runtime_error("Lfm2AudioSpeechState: speech input \"" + name + "\" is not bound."); +} + +size_t Lfm2AudioSpeechState::FindOutput(const std::string& name) const { + for (size_t i = 0; i < output_names_.size(); ++i) { + if (name == output_names_[i]) return i; + } + throw std::runtime_error("Lfm2AudioSpeechState: speech output \"" + name + "\" is not bound."); +} + +std::unique_ptr CreateSpeechState(const MultiModalLanguageModel& model, const GeneratorParams& params) { + if (model.config_->model.type == "lfm2_audio") { + return std::make_unique(model, params); + } + return std::make_unique(model, params); +} + EmbeddingState::EmbeddingState(const MultiModalLanguageModel& model, const GeneratorParams& params) : State{params, model}, model_{model} { @@ -818,7 +957,7 @@ MultiModalPipelineState::MultiModalPipelineState(const MultiModalLanguageModel& vision_state_ = CreateVisionState(model_, params); } if (model_.speech_session_) { - speech_state_ = std::make_unique(model_, params); + speech_state_ = CreateSpeechState(model_, params); } embedding_state_ = std::make_unique(model, params); decoder_state_ = std::make_unique(model_, sequence_lengths, params); diff --git a/src/models/multi_modal.h b/src/models/multi_modal.h index 7726f292b8..5c50dfcb4e 100644 --- a/src/models/multi_modal.h +++ b/src/models/multi_modal.h @@ -133,10 +133,10 @@ struct SpeechState : State { SpeechState(const SpeechState&) = delete; SpeechState& operator=(const SpeechState&) = delete; - void SetExtraInputs(const std::vector& extra_inputs, const int64_t num_audio_tokens); + virtual void SetExtraInputs(const std::vector& extra_inputs, const int64_t num_audio_tokens); DeviceSpan Run(int current_length, DeviceSpan& next_tokens, DeviceSpan next_indices = {}) override; - private: + protected: friend struct MultiModalPipelineState; const MultiModalLanguageModel& model_; @@ -145,6 +145,30 @@ struct SpeechState : State { std::unique_ptr audio_features_; }; +// Lfm2AudioSpeechState: per-clip encoder loop for LFM2-Audio. +// +// The processor stacks the clips of one prompt into a zero-padded [N, T_max, num_mels] mel tensor +// with their real frame counts alongside. The published encoder export is traced for a single clip +// (its subsampling mask cannot broadcast over a batch), so with several clips this subclass slices +// each clip's own frames out of that tensor, runs the encoder on [1, T_i, num_mels], and writes the +// results one after another into the contiguous [1, total_tokens, hidden] feature buffer the +// embedding model expects, in clip order. +struct Lfm2AudioSpeechState : SpeechState { + using SpeechState::SpeechState; // inherit constructor + + void SetExtraInputs(const std::vector& extra_inputs, const int64_t num_audio_tokens) override; + DeviceSpan Run(int current_length, DeviceSpan& next_tokens, DeviceSpan next_indices = {}) override; + + private: + size_t FindInput(const std::string& name) const; + size_t FindOutput(const std::string& name) const; + + std::vector tokens_per_clip_; +}; + +// Factory: pick the right SpeechState subclass based on model type. +std::unique_ptr CreateSpeechState(const MultiModalLanguageModel& model, const GeneratorParams& params); + struct EmbeddingState : State { EmbeddingState(const MultiModalLanguageModel& model, const GeneratorParams& params); EmbeddingState(const EmbeddingState&) = delete; diff --git a/src/models/preprocessing/lfm2_audio_processor.cpp b/src/models/preprocessing/lfm2_audio_processor.cpp new file mode 100644 index 0000000000..c1f5fa9439 --- /dev/null +++ b/src/models/preprocessing/lfm2_audio_processor.cpp @@ -0,0 +1,320 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#include "generator/generators.h" +#include "models/model.h" +#include "models/preprocessing/genai_tokenizer.h" +#include "models/preprocessing/lfm2_audio_processor.h" +#include "nemo_mel_spectrogram.h" + +#include +#include +#include + +namespace Generators { + +namespace { + +// The list overload of MultiModalProcessor::Process fills payload.prompts and leaves payload.prompt +// empty. Batching is not supported, so a single-entry list is the prompt and anything longer is an error +// rather than silently dropped text. +std::string ResolvePrompt(const Payload& payload) { + if (payload.prompts.empty()) { + return payload.prompt; + } + if (payload.prompts.size() != 1) { + throw std::runtime_error("Lfm2AudioProcessor: batched prompts are not supported; got " + + std::to_string(payload.prompts.size()) + " prompts. Pass a single prompt string."); + } + return payload.prompts[0] ? std::string(payload.prompts[0]) : std::string{}; +} + +// The encoder graph's input names come from genai_config.json; a wrong name would otherwise be +// dropped silently by ExtraInputs and only surface as ORT's "Missing Input" at run time. +ONNXTensorElementDataType SpeechInputType(const SessionInfo& session_info, const std::string& name, + const char* config_field) { + if (!session_info.HasInput(name)) { + throw std::runtime_error("Lfm2AudioProcessor: the speech model has no input named \"" + name + + "\". Point model.speech.inputs." + config_field + + " in genai_config.json at the name the speech model uses."); + } + return session_info.GetInputDataType(name); +} + +std::unique_ptr MakeInt64Tensor(const std::vector& values, std::vector shape, + Ort::Allocator& allocator) { + auto tensor = OrtValue::CreateTensor(allocator, shape); + std::copy(values.begin(), values.end(), tensor->GetTensorMutableData()); + return tensor; +} + +std::unique_ptr MakeInputIds(const std::vector& input_ids, Ort::Allocator& allocator) { + auto tensor = OrtValue::CreateTensor(allocator, std::vector{1, static_cast(input_ids.size())}); + std::copy(input_ids.begin(), input_ids.end(), tensor->GetTensorMutableData()); + return tensor; +} + +// torch.hann_window(win_length, periodic=False), the window NeMo's FilterbankFeatures registers. +std::vector SymmetricHannWindow(int win_length) { + constexpr double kPi = 3.14159265358979323846; + std::vector window(static_cast(win_length)); + for (int n = 0; n < win_length; ++n) { + window[static_cast(n)] = static_cast(0.5 * (1.0 - std::cos(2.0 * kPi * n / (win_length - 1)))); + } + return window; +} + +} // namespace + +int64_t Lfm2AudioNumMelFrames(int64_t num_samples, const Lfm2AudioMelConfig& config) { + // torch.stft(center=True): fft_size / 2 zeros on both sides, one frame per hop_length. + const int64_t padded = num_samples + 2 * (config.fft_size / 2); + if (padded < config.fft_size) { + return 0; + } + return (padded - config.fft_size) / config.hop_length + 1; +} + +int64_t Lfm2AudioNumValidMelFrames(int64_t num_samples, const Lfm2AudioMelConfig& config) { + // FilterbankFeatures.get_seq_len: (num_samples + 2 * (fft_size // 2) - fft_size) // hop_length. + const int64_t padded = num_samples + 2 * (config.fft_size / 2); + if (padded < config.fft_size) { + return 0; + } + return (padded - config.fft_size) / config.hop_length; +} + +int64_t Lfm2AudioNumTokens(int64_t num_mel_frames, int64_t subsampling_factor) { + if (subsampling_factor <= 0) { + throw std::runtime_error("Lfm2AudioProcessor: subsampling_factor must be positive."); + } + return (num_mel_frames + subsampling_factor - 1) / subsampling_factor; +} + +std::vector ComputeLfm2AudioMel(const float* pcm, int64_t num_samples, const Lfm2AudioMelConfig& config, + int64_t& num_frames) { + if (config.num_mels <= 0 || config.fft_size <= 0 || config.hop_length <= 0 || config.win_length < 2 || + config.win_length > config.fft_size) { + throw std::runtime_error("Lfm2AudioProcessor: invalid mel configuration (num_mels " + std::to_string(config.num_mels) + + ", fft_size " + std::to_string(config.fft_size) + ", win_length " + + std::to_string(config.win_length) + ", hop_length " + std::to_string(config.hop_length) + ")."); + } + + num_frames = Lfm2AudioNumMelFrames(num_samples, config); + const int64_t valid_frames = Lfm2AudioNumValidMelFrames(num_samples, config); + // The per-feature normalization divides by valid_frames - 1; NeMo raises on a single frame and + // produces NaNs on none, so refuse both up front with the clip length that would be needed. + if (valid_frames < 2) { + throw std::runtime_error("Lfm2AudioProcessor: audio clip is too short (" + std::to_string(num_samples) + + " samples at " + std::to_string(config.sample_rate) + " Hz); at least " + + std::to_string(2 * config.hop_length) + " samples are needed."); + } + + const auto mel_filters = nemo_mel::CreateMelFilterbank(config.num_mels, config.fft_size, config.sample_rate); + const auto window = SymmetricHannWindow(config.win_length); + + std::vector preemphasized(static_cast(num_samples)); + nemo_mel::ApplyPreemphasis(pcm, static_cast(num_samples), config.preemph, 0.0f, preemphasized.data()); + + // Constant (zero) padding on both sides: NeMo's stft uses pad_mode="constant". + const int64_t pad = config.fft_size / 2; + std::vector padded(static_cast(pad + num_samples + pad), 0.0f); + std::copy(preemphasized.begin(), preemphasized.end(), padded.begin() + pad); + + // The win_length window sits centered inside the fft_size frame; the power spectrum does not + // depend on where the windowed samples land within the FFT buffer. + const int64_t win_offset = (config.fft_size - config.win_length) / 2; + const int num_bins = config.fft_size / 2 + 1; + const auto num_mels = static_cast(config.num_mels); + + std::vector mel(static_cast(num_frames) * num_mels); + std::vector magnitudes; + for (int64_t t = 0; t < num_frames; ++t) { + const float* frame = padded.data() + t * config.hop_length + win_offset; + nemo_mel::ComputeSTFTFrame(frame, window.data(), config.win_length, config.fft_size, magnitudes); + float* row = mel.data() + static_cast(t) * num_mels; + for (size_t m = 0; m < num_mels; ++m) { + float value = 0.0f; + for (int k = 0; k < num_bins; ++k) { + value += mel_filters[m][static_cast(k)] * magnitudes[static_cast(k)]; + } + row[m] = std::log(value + config.log_eps); + } + } + + // normalize_batch(normalize_type="per_feature"): mean and unbiased standard deviation over the + // valid frames only, then the frames past the valid length are set to pad_value (0). + for (size_t m = 0; m < num_mels; ++m) { + double sum = 0.0; + for (int64_t t = 0; t < valid_frames; ++t) { + sum += mel[static_cast(t) * num_mels + m]; + } + const float mean = static_cast(sum / static_cast(valid_frames)); + double variance = 0.0; + for (int64_t t = 0; t < valid_frames; ++t) { + const double delta = mel[static_cast(t) * num_mels + m] - mean; + variance += delta * delta; + } + const float std = static_cast(std::sqrt(variance / static_cast(valid_frames - 1))) + config.norm_eps; + for (int64_t t = 0; t < valid_frames; ++t) { + float& value = mel[static_cast(t) * num_mels + m]; + value = (value - mean) / std; + } + } + std::fill(mel.begin() + static_cast(valid_frames) * num_mels, mel.end(), 0.0f); + return mel; +} + +std::vector SplitLfm2AudioPrompt(const std::string& prompt, size_t num_clips) { + const std::string marker{kLfm2AudioMarker}; + std::vector segments; + size_t position = 0; + for (size_t match = prompt.find(marker, position); match != std::string::npos; match = prompt.find(marker, position)) { + segments.push_back(prompt.substr(position, match - position)); + position = match + marker.size(); + } + segments.push_back(prompt.substr(position)); + + // Same rule as the LFM2-VL processor applies to : one marker per clip, in clip order. + // Silently inventing or dropping placeholders would misalign the encoder features with the + // decoder positions. + const size_t num_markers = segments.size() - 1; + if (num_markers != num_clips) { + throw std::runtime_error("Lfm2AudioProcessor: the prompt contains " + std::to_string(num_markers) + " " + marker + + " markers but " + std::to_string(num_clips) + " audio clips were provided. Put exactly one " + + marker + " in the prompt per clip."); + } + return segments; +} + +Lfm2AudioProcessor::Lfm2AudioProcessor(Config& config, const SessionInfo& session_info) + : mel_type_{SpeechInputType(session_info, config.model.speech.inputs.audio_embeds, "audio_embeds")}, + subsampling_factor_{config.model.subsampling_factor > 0 ? config.model.subsampling_factor : 8}, + audio_token_id_{config.model.audio_token_id} { + if (mel_type_ != ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT && mel_type_ != ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16) { + throw std::runtime_error("Lfm2AudioProcessor: speech input \"" + config.model.speech.inputs.audio_embeds + + "\" must be float or float16, got " + TypeToString(mel_type_) + "."); + } + // The clip lengths are always emitted as int64, so fail at load rather than at the first clip if + // the graph was exported with another integer type. + const auto lengths_type = SpeechInputType(session_info, config.model.speech.inputs.audio_lengths, "audio_lengths"); + if (lengths_type != ONNX_TENSOR_ELEMENT_DATA_TYPE_INT64) { + throw std::runtime_error("Lfm2AudioProcessor: speech input \"" + config.model.speech.inputs.audio_lengths + + "\" must be int64, got " + TypeToString(lengths_type) + "."); + } + if (audio_token_id_ <= 0) { + throw std::runtime_error( + "Lfm2AudioProcessor: model.audio_token_id must be set in genai_config.json to the id " + "the embedding model replaces with the audio features."); + } + + // The mel front end defaults to the settings of the published checkpoints; a genai_config.json can + // override any of them with the same top-level fields the Parakeet and Nemotron models use. + const auto& m = config.model; + if (m.num_mels > 0) mel_config_.num_mels = m.num_mels; + if (m.fft_size > 0) mel_config_.fft_size = m.fft_size; + if (m.win_length > 0) mel_config_.win_length = m.win_length; + if (m.hop_length > 0) mel_config_.hop_length = m.hop_length; + if (m.sample_rate > 0) mel_config_.sample_rate = m.sample_rate; + if (m.preemph > 0.0f) mel_config_.preemph = m.preemph; + if (m.log_eps > 0.0f) mel_config_.log_eps = m.log_eps; + if (m.norm_eps > 0.0f) mel_config_.norm_eps = m.norm_eps; + + config.AddMapping(std::string(Config::Defaults::InputIdsName), config.model.embedding.inputs.input_ids); + config.AddMapping(std::string(Config::Defaults::AudioEmbedsName), config.model.speech.inputs.audio_embeds); + config.AddMapping(std::string(Config::Defaults::AudioLengthsName), config.model.speech.inputs.audio_lengths); + config.AddMapping(std::string(Config::Defaults::AudioSizesName), config.model.speech.inputs.audio_sizes); +} + +std::unique_ptr Lfm2AudioProcessor::Process(const Tokenizer& tokenizer, const Payload& payload) const { + const std::string prompt = ResolvePrompt(payload); + const Audios* audios = payload.audios; + const size_t num_clips = audios ? audios->num_audios_ : 0; + Ort::Allocator& allocator{Ort::Allocator::GetWithDefaultOptions()}; + auto named_tensors = std::make_unique(); + + // With no clips the prompt must not ask for any; the split with zero clips enforces that. + const std::vector segments = SplitLfm2AudioPrompt(prompt, num_clips); + + // Mel spectrogram per clip, decoded to mono at the encoder's sample rate. + std::vector> mels; + std::vector mel_lengths; + std::vector tokens_per_clip; + int64_t longest = 0; + int64_t total_tokens = 0; + for (size_t i = 0; i < num_clips; ++i) { + ort_extensions::OrtxObjectPtr decoded; + CheckResult(OrtxDecodeAudio(audios->audios_.get(), i, static_cast(mel_config_.sample_rate), + /*stereo_to_mono=*/1, decoded.ToBeAssigned())); + ort_extensions::OrtxObjectPtr pcm_tensor; + CheckResult(OrtxTensorResultGetAt(decoded.get(), 0, pcm_tensor.ToBeAssigned())); + + const float* pcm{}; + const int64_t* pcm_shape{}; + size_t pcm_dims{}; + CheckResult(OrtxGetTensorData(pcm_tensor.get(), reinterpret_cast(&pcm), &pcm_shape, &pcm_dims)); + int64_t num_samples = 0; + if (pcm_dims == 1) { + num_samples = pcm_shape[0]; + } else if (pcm_dims == 2 && pcm_shape[0] == 1) { + num_samples = pcm_shape[1]; + } else { + throw std::runtime_error("Lfm2AudioProcessor: expected mono PCM from the audio decoder for clip " + + std::to_string(i) + ", got a rank " + std::to_string(pcm_dims) + " tensor."); + } + + int64_t num_frames = 0; + mels.push_back(ComputeLfm2AudioMel(pcm, num_samples, mel_config_, num_frames)); + mel_lengths.push_back(num_frames); + tokens_per_clip.push_back(Lfm2AudioNumTokens(num_frames, subsampling_factor_)); + longest = std::max(longest, num_frames); + total_tokens += tokens_per_clip.back(); + } + + // Text segments are tokenized on their own, as the reference ChatState does, and each clip + // contributes one placeholder per encoder frame between them. + std::vector input_ids; + for (size_t i = 0; i < segments.size(); ++i) { + if (!segments[i].empty()) { + const std::vector ids = tokenizer.Encode(segments[i].c_str()); + input_ids.insert(input_ids.end(), ids.begin(), ids.end()); + } + if (i < tokens_per_clip.size()) { + input_ids.insert(input_ids.end(), static_cast(tokens_per_clip[i]), audio_token_id_); + } + } + named_tensors->emplace(std::string(Config::Defaults::InputIdsName), + std::make_shared(MakeInputIds(input_ids, allocator))); + + if (num_clips == 0) { + // The pipeline reads audio_sizes to skip the speech run. + named_tensors->emplace(std::string(Config::Defaults::AudioSizesName), + std::make_shared(MakeInt64Tensor({0}, {1}, allocator))); + return named_tensors; + } + + // Clips share one encoder run as a zero-padded [num_clips, longest, num_mels] batch with their + // real lengths alongside, the same batching the reference applies before its encoder. + const int64_t num_mels = mel_config_.num_mels; + auto batch = OrtValue::CreateTensor(allocator, std::vector{static_cast(num_clips), longest, num_mels}); + float* batch_data = batch->GetTensorMutableData(); + std::fill_n(batch_data, static_cast(num_clips) * static_cast(longest * num_mels), 0.0f); + for (size_t i = 0; i < num_clips; ++i) { + std::copy(mels[i].begin(), mels[i].end(), batch_data + i * static_cast(longest * num_mels)); + } + + if (mel_type_ == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT) { + named_tensors->emplace(std::string(Config::Defaults::AudioEmbedsName), std::make_shared(std::move(batch))); + } else { + std::unique_ptr converted; + Cast(*batch, converted, *GetDeviceInterface(DeviceType::CPU), mel_type_); + named_tensors->emplace(std::string(Config::Defaults::AudioEmbedsName), std::make_shared(std::move(converted))); + } + named_tensors->emplace(std::string(Config::Defaults::AudioLengthsName), + std::make_shared(MakeInt64Tensor(mel_lengths, {static_cast(num_clips)}, allocator))); + named_tensors->emplace(std::string(Config::Defaults::AudioSizesName), + std::make_shared(MakeInt64Tensor(tokens_per_clip, {static_cast(num_clips)}, allocator))); + return named_tensors; +} + +} // namespace Generators diff --git a/src/models/preprocessing/lfm2_audio_processor.h b/src/models/preprocessing/lfm2_audio_processor.h new file mode 100644 index 0000000000..dbcb051007 --- /dev/null +++ b/src/models/preprocessing/lfm2_audio_processor.h @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +#pragma once + +#include +#include +#include + +#include "models/preprocessing/processor.h" + +namespace Generators { + +// Marker the prompt carries once per audio clip, in clip order. LFM2-Audio has no audio input token +// of its own: the reference implementation (liquid-audio's ChatState) splices the encoder output +// between the text tokens by position, so the marker is a convention of this runtime, and the +// processor replaces it with model.audio_token_id repeated once per encoder frame. +inline constexpr char kLfm2AudioMarker[] = "<|audio|>"; + +// Log-mel front end of the FastConformer encoder, NeMo's AudioToMelSpectrogramPreprocessor with +// the settings of the published checkpoints (config.json "preprocessor"). +struct Lfm2AudioMelConfig { + int num_mels{128}; + int fft_size{512}; + int win_length{400}; // window_size 0.025 s at 16 kHz + int hop_length{160}; // window_stride 0.01 s at 16 kHz + int sample_rate{16000}; + float preemph{0.97f}; + float log_eps{5.960464477539063e-08f}; // log_zero_guard_value 2^-24, added before the log + float norm_eps{1e-5f}; // added to the per-feature standard deviation +}; + +// Frame accounting of the reference preprocessor. torch.stft with center=True yields one frame per +// hop plus one, but NeMo's get_seq_len counts only num_samples / hop_length of them as valid: the +// per-feature normalization uses the valid frames and the rest are zeroed, yet every frame is still +// handed to the encoder and counted towards the decoder tokens. +int64_t Lfm2AudioNumMelFrames(int64_t num_samples, const Lfm2AudioMelConfig& config); +int64_t Lfm2AudioNumValidMelFrames(int64_t num_samples, const Lfm2AudioMelConfig& config); + +// Decoder tokens one clip contributes: the encoder subsamples the mel frames by subsampling_factor +// with ceil rounding (three stride-2 convolutions with padding 1 for the shipped models). +int64_t Lfm2AudioNumTokens(int64_t num_mel_frames, int64_t subsampling_factor); + +// Computes the normalized log-mel spectrogram of one mono clip, time-major [num_frames, num_mels], +// the layout the encoder's mel_spectrogram input takes. Throws if the clip is too short to +// normalize (fewer than two valid frames). +std::vector ComputeLfm2AudioMel(const float* pcm, int64_t num_samples, const Lfm2AudioMelConfig& config, + int64_t& num_frames); + +// Splits the prompt at each marker. Throws unless the prompt holds exactly one marker per clip, the +// rule the vision processor applies to , so the encoder features and the placeholders can +// never be misaligned or silently dropped. Returns num_clips + 1 text segments. +std::vector SplitLfm2AudioPrompt(const std::string& prompt, size_t num_clips); + +struct Lfm2AudioProcessor : Processor { + Lfm2AudioProcessor(Config& config, const SessionInfo& session_info); + + std::unique_ptr Process(const Tokenizer& tokenizer, const Payload& payload) const override; + + private: + ONNXTensorElementDataType mel_type_; + Lfm2AudioMelConfig mel_config_; + int64_t subsampling_factor_{}; + int32_t audio_token_id_{}; +}; + +} // namespace Generators diff --git a/src/models/preprocessing/multi_modal_processor.cpp b/src/models/preprocessing/multi_modal_processor.cpp index 45b31646e0..a0ae8443fd 100644 --- a/src/models/preprocessing/multi_modal_processor.cpp +++ b/src/models/preprocessing/multi_modal_processor.cpp @@ -7,6 +7,7 @@ #include "models/preprocessing/gemma4_multimodal_processor.h" #include "models/preprocessing/gemma_image_processor.h" #include "models/preprocessing/genai_tokenizer.h" +#include "models/preprocessing/lfm2_audio_processor.h" #include "models/preprocessing/lfm2_vl_image_processor.h" #include "models/preprocessing/mistral3_image_processor.h" #include "models/preprocessing/parakeet_processor.h" @@ -32,6 +33,7 @@ MultiModalProcessor::MultiModalProcessor(Config& config, const SessionInfo& sess {"parakeet_tdt", Processor::Create}, {"phi4mm", Processor::Create}, {"gemma3", Processor::Create}, + {"lfm2_audio", Processor::Create}, {"lfm2_vl", Processor::Create}, {"gemma4", Processor::Create}, {"mistral3", Processor::Create}, diff --git a/src/python/py/models/README.md b/src/python/py/models/README.md index 1d8d081d5c..94d26904fc 100644 --- a/src/python/py/models/README.md +++ b/src/python/py/models/README.md @@ -74,7 +74,7 @@ The tool currently supports the following model architectures. - Granite MoE Hybrid - HunYuan Dense V1 - InternLM2 -- LFM2 (text and the decoder of LFM2-VL / LFM2.5-VL) +- LFM2 (text and the decoders of LFM2-VL / LFM2.5-VL and LFM2-Audio / LFM2.5-Audio) - LFM2 MoE - Llama - Mistral diff --git a/src/python/py/models/builder.py b/src/python/py/models/builder.py index 703ebb192a..5e23ad669f 100644 --- a/src/python/py/models/builder.py +++ b/src/python/py/models/builder.py @@ -28,8 +28,10 @@ GraniteMoEHybridModel, HunyuanDenseV1Model, InternLM2Model, + LFM2AudioModel, LFM2Model, LFM2MoEModel, + load_lfm2_audio_config, LlamaModel, Mistral3TextModel, MistralModel, @@ -101,7 +103,10 @@ def get_hf_details(model_name, input_path, cache_dir, extra_options): hf_token = extra_options.get("hf_token", True) hf_remote = extra_options.get("hf_remote", False) - config = AutoConfig.from_pretrained(hf_name, token=hf_token, trust_remote_code=hf_remote, **extra_kwargs) + # LFM2-Audio checkpoints have no model_type, so AutoConfig cannot read them: use their nested LFM2 decoder config. + config = load_lfm2_audio_config(hf_name, token=hf_token, **extra_kwargs) + if config is None: + config = AutoConfig.from_pretrained(hf_name, token=hf_token, trust_remote_code=hf_remote, **extra_kwargs) tokenizer = AutoTokenizer.from_pretrained(hf_name, token=hf_token, trust_remote_code=hf_remote, **extra_kwargs) add_special_token_ids(config, tokenizer) if extra_options.get("adapter_path", False): @@ -628,6 +633,10 @@ def create_model( # With the embedding layer excluded the decoder is one stage of the LFM2-VL vision pipeline; # otherwise it is a standalone text model that happens to come from a VLM checkpoint. onnx_model.model_type = "lfm2_vl" if onnx_model.exclude_embeds else "lfm2_vl_text" + elif config.architectures[0] == "Lfm2AudioForConditionalGeneration": + onnx_model = LFM2AudioModel(config, io_dtype, onnx_dtype, execution_provider, cache_dir, extra_options) + # Same split as LFM2-VL: the decoder stage of the lfm2_audio pipeline, or a plain text model. + onnx_model.model_type = "lfm2_audio" if onnx_model.exclude_embeds else "lfm2_audio_text" elif config.architectures[0] == "LlamaForCausalLM": onnx_model = LlamaModel(config, io_dtype, onnx_dtype, execution_provider, cache_dir, extra_options) elif config.architectures[0] == "MistralForCausalLM": diff --git a/src/python/py/models/builders/__init__.py b/src/python/py/models/builders/__init__.py index 0925693898..90190f7e3a 100644 --- a/src/python/py/models/builders/__init__.py +++ b/src/python/py/models/builders/__init__.py @@ -14,7 +14,7 @@ from .granite import GraniteModel, GraniteMoEHybridModel from .hunyuan import HunyuanDenseV1Model from .internlm import InternLM2Model -from .lfm2 import LFM2Model, LFM2MoEModel +from .lfm2 import LFM2AudioModel, LFM2Model, LFM2MoEModel, load_lfm2_audio_config from .llama import LlamaModel from .mistral import Mistral3TextModel, MistralModel from .mtp import MTPModel @@ -57,8 +57,10 @@ "GraniteModel", "HunyuanDenseV1Model", "InternLM2Model", + "LFM2AudioModel", "LFM2Model", "LFM2MoEModel", + "load_lfm2_audio_config", "LlamaModel", "MTPModel", "Mistral3TextModel", diff --git a/src/python/py/models/builders/lfm2.py b/src/python/py/models/builders/lfm2.py index c7e4dce6e0..1683bb7b38 100644 --- a/src/python/py/models/builders/lfm2.py +++ b/src/python/py/models/builders/lfm2.py @@ -4,10 +4,16 @@ # license information. # Modifications Copyright(C) 2026 Advanced Micro Devices, Inc. All rights reserved. # -------------------------------------------------------------------------- +import json +import os + import onnx_ir as ir +import torch from .base import Model +LFM2_AUDIO_ARCHITECTURE = "Lfm2AudioForConditionalGeneration" + class LFM2Model(Model): def __init__(self, config, io_dtype, onnx_dtype, ep, cache_dir, extra_options): @@ -190,6 +196,87 @@ def update_genai_config(self, genai_config): decoder["conv_cache_size"] = self.conv_L_cache - 1 +def load_lfm2_audio_config(model_name_or_path, **kwargs): + """The LFM2 decoder config of an LFM2-Audio checkpoint (LFM2-Audio-1.5B, LFM2.5-Audio-1.5B). + + These checkpoints have no transformers model class and their config.json nests the decoder + config under "lfm" next to the audio encoder, depthformer and mel front-end settings, so + AutoConfig cannot read them. Returns None if the checkpoint is not an LFM2-Audio one. + """ + from transformers import Lfm2Config, PretrainedConfig + + try: + config_dict, _ = PretrainedConfig.get_config_dict(model_name_or_path, **kwargs) + except Exception: # noqa: BLE001 - not an LFM2-Audio checkpoint (or not readable): AutoConfig reports the real error + return None + if config_dict.get("architectures") != [LFM2_AUDIO_ARCHITECTURE]: + return None + config = Lfm2Config(**config_dict["lfm"]) + config.architectures = [LFM2_AUDIO_ARCHITECTURE] + config._name_or_path = model_name_or_path + return config + + +class LFM2AudioModel(LFM2Model): + """The LFM2 decoder of an LFM2-Audio checkpoint, exported for text generation. + + The checkpoint stores the decoder as an Lfm2Model under the "lfm." prefix, with the logits tied + to the token embeddings; the audio encoder, depthformer and audio embeddings that surround it in + the checkpoint are left out. With the embedding layer excluded the export is the decoder stage of + the lfm2_audio pipeline, whose embedding model splices the audio encoder output into the token + embeddings; otherwise it is a plain text model. + """ + + def __init__(self, config, io_dtype, onnx_dtype, ep, cache_dir, extra_options): + super().__init__(config, io_dtype, onnx_dtype, ep, cache_dir, extra_options) + self.decoder_config = config + + def load_weights(self, input_path): + if input_path.endswith(".gguf") or self.quant_type is not None: + return super().load_weights(input_path) + + from transformers import Lfm2ForCausalLM + + with torch.device("meta"): + model = Lfm2ForCausalLM(self.decoder_config) + state_dict = {} + for name, tensor in self.load_lfm2_audio_checkpoint(input_path).items(): + if name.startswith("lfm."): + state_dict["model." + name[len("lfm.") :]] = tensor + missing, unexpected = model.load_state_dict(state_dict, strict=False, assign=True) + if unexpected or set(missing) - {"lm_head.weight"}: + raise ValueError( + f"The LFM2 decoder of {input_path} does not match its config: missing {sorted(missing)}, unexpected {sorted(unexpected)}." + ) + model.tie_weights() + return model.eval() + + def load_lfm2_audio_checkpoint(self, input_path): + """The checkpoint tensors, from a local directory or the Hugging Face Hub.""" + from safetensors.torch import load_file + + if os.path.isdir(input_path): + checkpoint_dir = input_path + else: + from huggingface_hub import snapshot_download + + checkpoint_dir = snapshot_download( + input_path, cache_dir=self.cache_dir, token=self.hf_token, allow_patterns=["*.safetensors", "*.json"] + ) + + index_path = os.path.join(checkpoint_dir, "model.safetensors.index.json") + if os.path.exists(index_path): + with open(index_path) as f: + shards = sorted(set(json.load(f)["weight_map"].values())) + else: + shards = ["model.safetensors"] + + tensors = {} + for shard in shards: + tensors.update(load_file(os.path.join(checkpoint_dir, shard))) + return tensors + + class LFM2MoEModel(LFM2Model): """LFM2-MoE builder (LFM2-8B-A1B, LFM2.5-8B-A1B, LFM2-24B-A2B). diff --git a/src/python/python.cpp b/src/python/python.cpp index 3f2885794a..c982cc2820 100644 --- a/src/python/python.cpp +++ b/src/python/python.cpp @@ -675,12 +675,19 @@ PYBIND11_MODULE(onnxruntime_genai, m) { pybind11::class_(m, "Images") .def_static("open", [](pybind11::args image_paths) { std::vector image_paths_string; - std::vector image_paths_vector; + image_paths_string.reserve(image_paths.size()); for (auto image_path : image_paths) { if (!pybind11::isinstance(image_path)) throw std::runtime_error("Image paths must be strings."); image_paths_string.push_back(image_path.cast()); - image_paths_vector.push_back(image_paths_string.back().c_str()); + } + + // Take the pointers only once the strings have stopped moving: a short string keeps its + // characters inside the string object, so growing the vector would dangle them. + std::vector image_paths_vector; + image_paths_vector.reserve(image_paths_string.size()); + for (const auto& image_path : image_paths_string) { + image_paths_vector.push_back(image_path.c_str()); } return OgaImages::Load(image_paths_vector); @@ -703,13 +710,19 @@ PYBIND11_MODULE(onnxruntime_genai, m) { pybind11::class_(m, "Audios") .def_static("open", [](pybind11::args audio_paths) { std::vector audio_paths_string; - std::vector audio_paths_vector; - + audio_paths_string.reserve(audio_paths.size()); for (const auto& audio_path : audio_paths) { if (!pybind11::isinstance(audio_path)) throw std::runtime_error("Audio paths must be strings."); audio_paths_string.push_back(audio_path.cast()); - audio_paths_vector.push_back(audio_paths_string.back().c_str()); + } + + // Take the pointers only once the strings have stopped moving: a short string keeps its + // characters inside the string object, so growing the vector would dangle them. + std::vector audio_paths_vector; + audio_paths_vector.reserve(audio_paths_string.size()); + for (const auto& audio_path : audio_paths_string) { + audio_paths_vector.push_back(audio_path.c_str()); } return OgaAudios::Load(audio_paths_vector); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index f5b5c5345c..65e468535f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -15,6 +15,7 @@ file(GLOB test_srcs CONFIGURE_DEPENDS # Keep tests with dedicated white-box executables out of the public-API unit_tests target. list(REMOVE_ITEM test_srcs "${CMAKE_CURRENT_SOURCE_DIR}/cpp/dflash2_config_test.cpp") list(REMOVE_ITEM test_srcs "${CMAKE_CURRENT_SOURCE_DIR}/cpp/kv_cache_tests.cpp") +list(REMOVE_ITEM test_srcs "${CMAKE_CURRENT_SOURCE_DIR}/cpp/lfm2_audio_frames_test.cpp") list(REMOVE_ITEM test_srcs "${CMAKE_CURRENT_SOURCE_DIR}/cpp/lfm2_vl_image_geometry_test.cpp") list(REMOVE_ITEM test_srcs "${CMAKE_CURRENT_SOURCE_DIR}/cpp/reinit_tests.cpp") list(REMOVE_ITEM test_srcs "${CMAKE_CURRENT_SOURCE_DIR}/cpp/search_checkpoint_tests.cpp") @@ -202,6 +203,7 @@ file(GLOB engine_unit_test_srcs CONFIGURE_DEPENDS ) list(APPEND engine_unit_test_srcs "${CMAKE_CURRENT_SOURCE_DIR}/cpp/dflash2_config_test.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/cpp/lfm2_audio_frames_test.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/cpp/lfm2_vl_image_geometry_test.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/cpp/search_checkpoint_tests.cpp" ) diff --git a/test/cpp/lfm2_audio_frames_test.cpp b/test/cpp/lfm2_audio_frames_test.cpp new file mode 100644 index 0000000000..a03978fb53 --- /dev/null +++ b/test/cpp/lfm2_audio_frames_test.cpp @@ -0,0 +1,157 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#include + +#include +#include +#include + +#include "models/preprocessing/lfm2_audio_processor.h" + +// LFM2-Audio turns a clip into log-mel frames, one per 10 ms hop, and the encoder subsamples those +// by 8, so the decoder sees one token per 80 ms. These tests pin the three things that have to agree +// for the pipeline to line up: how many frames a clip is worth, how many of them the reference +// preprocessor counts as valid, and how the prompt is split around the audio markers. + +namespace Generators::test { +namespace { + +constexpr Lfm2AudioMelConfig kMelConfig{}; // settings of the published checkpoints +constexpr int64_t kSubsamplingFactor = 8; + +template +std::string CaptureThrowMessage(Fn&& fn) { + try { + fn(); + } catch (const std::exception& e) { + return e.what(); + } + return {}; +} + +} // namespace + +TEST(Lfm2AudioFramesTest, OneSecondIsOneHundredFramesPlusTheCenterPadOne) { + // torch.stft(center=True) pads by fft_size / 2 on both sides, which buys exactly one extra frame. + EXPECT_EQ(Lfm2AudioNumMelFrames(16000, kMelConfig), 101); + // NeMo's get_seq_len counts num_samples / hop_length instead, one fewer. + EXPECT_EQ(Lfm2AudioNumValidMelFrames(16000, kMelConfig), 100); +} + +TEST(Lfm2AudioFramesTest, PartialHopsAreTruncated) { + EXPECT_EQ(Lfm2AudioNumMelFrames(16159, kMelConfig), 101); + EXPECT_EQ(Lfm2AudioNumMelFrames(16160, kMelConfig), 102); + EXPECT_EQ(Lfm2AudioNumValidMelFrames(16159, kMelConfig), 100); + EXPECT_EQ(Lfm2AudioNumValidMelFrames(16160, kMelConfig), 101); +} + +TEST(Lfm2AudioFramesTest, ClipShorterThanTheWindowStillHasFrames) { + // The center padding alone is fft_size samples wide, so even one sample produces frames; they are + // just not all valid. + EXPECT_EQ(Lfm2AudioNumMelFrames(1, kMelConfig), 1); + EXPECT_EQ(Lfm2AudioNumValidMelFrames(1, kMelConfig), 0); + EXPECT_EQ(Lfm2AudioNumMelFrames(0, kMelConfig), 1); +} + +TEST(Lfm2AudioFramesTest, TokensRoundUpToWholeEncoderFrames) { + EXPECT_EQ(Lfm2AudioNumTokens(8, kSubsamplingFactor), 1); + EXPECT_EQ(Lfm2AudioNumTokens(9, kSubsamplingFactor), 2); + EXPECT_EQ(Lfm2AudioNumTokens(101, kSubsamplingFactor), 13); + EXPECT_EQ(Lfm2AudioNumTokens(0, kSubsamplingFactor), 0); +} + +TEST(Lfm2AudioFramesTest, TokensRejectANonPositiveSubsamplingFactor) { + EXPECT_NE(CaptureThrowMessage([] { Lfm2AudioNumTokens(64, 0); }).find("subsampling_factor must be positive"), + std::string::npos); +} + +TEST(Lfm2AudioMelTest, NormalizesEveryValidFrameAndZeroesTheRest) { + // Half a second of a tone: every mel bin should end up zero-mean over the valid frames, and the + // frames past the valid length are the pad_value NeMo writes. + constexpr int64_t kNumSamples = 8000; + std::vector pcm(kNumSamples); + for (int64_t i = 0; i < kNumSamples; ++i) { + pcm[static_cast(i)] = 0.25f * std::sin(2.0f * 3.14159265358979323846f * 440.0f * static_cast(i) / 16000.0f); + } + + int64_t num_frames = 0; + const auto mel = ComputeLfm2AudioMel(pcm.data(), kNumSamples, kMelConfig, num_frames); + + const int64_t valid_frames = Lfm2AudioNumValidMelFrames(kNumSamples, kMelConfig); + ASSERT_EQ(num_frames, Lfm2AudioNumMelFrames(kNumSamples, kMelConfig)); + ASSERT_EQ(num_frames, valid_frames + 1); + ASSERT_EQ(mel.size(), static_cast(num_frames) * static_cast(kMelConfig.num_mels)); + + for (int64_t m = 0; m < kMelConfig.num_mels; ++m) { + double sum = 0.0; + double square_sum = 0.0; + for (int64_t t = 0; t < valid_frames; ++t) { + const double value = mel[static_cast(t) * static_cast(kMelConfig.num_mels) + static_cast(m)]; + sum += value; + square_sum += value * value; + } + EXPECT_NEAR(sum / valid_frames, 0.0, 1e-4) << "mel bin " << m << " is not zero-mean"; + // Unbiased standard deviation of 1, up to the epsilon added to the divisor. + EXPECT_NEAR(std::sqrt(square_sum / (valid_frames - 1)), 1.0, 1e-3) << "mel bin " << m << " is not unit-variance"; + } + for (int64_t m = 0; m < kMelConfig.num_mels; ++m) { + EXPECT_EQ(mel[static_cast(valid_frames) * static_cast(kMelConfig.num_mels) + static_cast(m)], 0.0f); + } +} + +TEST(Lfm2AudioMelTest, RejectsAClipTooShortToNormalize) { + const std::vector pcm(160, 0.1f); // one valid frame; the standard deviation would divide by zero + int64_t num_frames = 0; + const auto message = CaptureThrowMessage([&] { ComputeLfm2AudioMel(pcm.data(), 160, kMelConfig, num_frames); }); + EXPECT_NE(message.find("too short"), std::string::npos) << message; + EXPECT_NE(message.find("320 samples are needed"), std::string::npos) << message; +} + +TEST(Lfm2AudioMelTest, RejectsAWindowLongerThanTheFftSize) { + Lfm2AudioMelConfig config = kMelConfig; + config.win_length = config.fft_size + 1; + int64_t num_frames = 0; + const std::vector pcm(16000, 0.0f); + EXPECT_NE(CaptureThrowMessage([&] { ComputeLfm2AudioMel(pcm.data(), 16000, config, num_frames); }) + .find("invalid mel configuration"), + std::string::npos); +} + +TEST(Lfm2AudioPromptTest, SplitsAroundEveryMarker) { + const auto segments = SplitLfm2AudioPrompt("before <|audio|> middle <|audio|> after", 2); + ASSERT_EQ(segments.size(), 3u); + EXPECT_EQ(segments[0], "before "); + EXPECT_EQ(segments[1], " middle "); + EXPECT_EQ(segments[2], " after"); +} + +TEST(Lfm2AudioPromptTest, KeepsEmptySegmentsAroundAdjacentMarkers) { + // Adjacent markers and a prompt that is nothing but a marker still need their empty text segments, + // so the clips stay in order and nothing is dropped. + const auto segments = SplitLfm2AudioPrompt("<|audio|><|audio|>", 2); + ASSERT_EQ(segments.size(), 3u); + EXPECT_EQ(segments[0], ""); + EXPECT_EQ(segments[1], ""); + EXPECT_EQ(segments[2], ""); +} + +TEST(Lfm2AudioPromptTest, TextOnlyPromptWithNoClipsIsOneSegment) { + const auto segments = SplitLfm2AudioPrompt("no audio here", 0); + ASSERT_EQ(segments.size(), 1u); + EXPECT_EQ(segments[0], "no audio here"); +} + +TEST(Lfm2AudioPromptTest, RejectsAMarkerCountThatDoesNotMatchTheClips) { + EXPECT_NE(CaptureThrowMessage([] { SplitLfm2AudioPrompt("only text", 1); }) + .find("contains 0 <|audio|> markers but 1 audio clips"), + std::string::npos); + EXPECT_NE(CaptureThrowMessage([] { SplitLfm2AudioPrompt("<|audio|> and <|audio|>", 1); }) + .find("contains 2 <|audio|> markers but 1 audio clips"), + std::string::npos); + EXPECT_NE(CaptureThrowMessage([] { SplitLfm2AudioPrompt("<|audio|>", 0); }) + .find("contains 1 <|audio|> markers but 0 audio clips"), + std::string::npos); +} + +} // namespace Generators::test diff --git a/test/models/lfm2-audio/dummy_embedding.onnx b/test/models/lfm2-audio/dummy_embedding.onnx new file mode 100644 index 0000000000000000000000000000000000000000..659101cc82573a340938581a38bb04bbd41ffb95 GIT binary patch literal 132039 zcmZU(2{@Hs_cw0JJcJ}sBovVpA?NIMLP{x#GE_o_lv1KdWR@Xg5;9LIqN0dii)T-X;OdB_xC=(_j#ZHx$f&a*R}7p_ORBz_g-s#KElE>(|z~s3G@rtrVe?V9|f8{^d3O zNAzD>>Y^gvd-ewSPfmHi=zlCqMrhIo|7uj_U+e2GY9uP=vD?kVecM0w5&ic|88Ls4 zK>uz3yxOlSxYE^shlih*n5ckjp!fb6JO#XbqN<|*DI+8PKeF5Q?{MAgp*qF(Uw@(t z{~sCA|GO?3v43pxfBF~N;PH=|sM>!{`k$r92>&DaulfG3)B@4}Z4~`4gUbke@89;1 z!&IlN*cagHBdQ_#zfCgI|KrNNzWcrXy(jm;Hh)#2b-sI?Jp6n`iRl0Tt&G%vDX5Cr z`MK`dKiPqYmV~IlUJt+B9A3_(IfO))i~i@5ME_g!-xKxpaP<%H^VlyVxZA_e%fnq& z#CE%@zrTmyI`c_u{hvnB|Hqgz68|`I|G&NQZ#&3{{9`_M?>$~xC&Pq=Cm)rmyr%!@ z&(&dJ!n_m02@sajf_X#vOEXL3Ea7sGy@ zCYbQ}!pakqg5IB!aPXKK8cY?39emap+M|e-kOB)LgFx_sK33c^!LAkRXr5#Oynm0N zXz?ZDqz52;rIxvB84d||a_G0;PP9||5cVyOfa+!DxJK?GnJ<~foNSIk-S>+4mG?Z@ z99c(t7KG!3?J4puPmU@`ZRIroN+o9fE%Z=p9mtly!%?kfwy))182B;DbUuBCEp_d* zOy>$LPUI2`+=Q||x)`-e3g5r4C;Y3=LPuQ;>^U?jz~kq!@We|IRy;nz&KCp>mW{)n8+j(IhZelHs|eZP>aVo$;7={0(i>4Y^e zMIqF|h6BYX@qOSTJnQq2n7Q2|^YVT`_RIyyoc4kfw~oW@?fUS9{{ZgOtA%K%T-X+> z0MQ&9^7N<|G2s+4M?}>iTJkUJgOMY0jAC$qGzW_gY$u1io;JxvZXv4;ctG)_3N~jq zf`@b*RU3Xr?S6eDS7qMeL6_BdVqP%xZ12NL@njhBX$FoaLl5uBAV8Ag&!6`+PQw{? z++BdHkA9&xg;wbATTSeYj>F8OEV`z?2*TM~A~kcE0|7Mq zTr*AI8h{e3YQZf+l^e#ff}g&lbm5FHdL#D{SlwHS{0a+EI%W#J^QxPSEPF|p`rky4 zyse0QC6KO`#UB3hn(#c1rakxPW7d_2;9SR{F1)X($GSu~HDZJkoEccxKabUN>X>oc zyD0MZ*%VIW{7NFScn0_M)N&#@Uy)t@U5}mnIG9{{Kit%I#GX0$Q3*P)iDFug9~MV1 z=lGf$;uZPZ?2dhie`4OVpTF6IcN1RHb62B*eRhmkMoL4^rI+ZY{0>r+Phx+0D|~K_ zfN34FuMtrwtGC$>TP^RJ_N13E#9_;N5p| z?pRAR7DNlt>Q`fQb94oMAN>v{QwoTR;%722PY=JoHUhaDEp)R?DlOQl1b-s#qW7*2 zU|(HEetj*5&E;`;%+3eZ8;+yEyfCs{HI}`-ZIn*A9gg>vi%>Gtf^m0!Psbv4QAp@I zY|TE+Tumtg!$@H)Dmz5FmThNh);z}c?n_YTAxh2V0KPM!!s2OPfszad}i*d)1Ff4;*;D!sy`rqeK%VIf|1;o57jtso&Mz*UE z*hDpx(}rKbSke)Ujy|GdyKSKC^##mvKY*uG&yZFXQSMuV8O%gx1j-)jWSf7ELkYvj zB+)L9r3V+mx$3FO^=sx>+Ig6Ml&VDIu}-p^M;@$&W^+mxDdRS!I6CAmi<|Tv$(TkKtgCcY&xxj zyN&tb!pBGwy<7k#(pOUPBoupUHkDaHWh8u4`0!{xIRQ=pb zPJSzdcvJ+kX8=vUUtx#1`Gc*hHH7b* zOM~8})9}6Bzy21HiA56Bd4Cq$OfVYse`X@*@jmLuUQW8r^s!{wWl+!B0h<$# zlkF9QaQg`&)t+dKPH7~oRCc22cosQQatycLSOjytV!_fkfdtPV#T!Qs;=`1w(000t z6~9xPD=n7~)gQ!2|2Z479x!<^#*VEt=ep|}lDY0`P``eFWX$MdHZSf1E1!IFdHM@7 zbUqr|OB+b&fCtt~C~@^HzfjxTrXY5+mI}>W3rnnK5Xa{wP^ythm+tyNs>699M4t=t z`+G5@c9=RDIl{;1*I?a)0J7m(294-i4p!TpAzi(miq5VeQHq(6{BsPpC=!@x*JpnS z*~-M9mxPytBg||)QxdWx7Qas^gY>afY-T^BKl|F)ryu=+H{OpZf0!0-;*&tS={|%` zEaBEWhN186g&c8nc^FPPhI$tkF!}27>@ztIaNGYKz{l$(RaX?9LoK0(yBNL9qws=x zKhD{71NVe@;JxM(81GU*cw(~fzMdubO({Q;2nc>&hKeN?d(}*-%Mw;b4g(r z{G5%tZ}wr&rA~CqxlAY2q+#&`JzQfuhhx>`2CKi6fq2FmIHxrV-vTXB`PE!*`pyBm z^Nl2!&r>8QdW;;GtpJJKR+1cT1-h|&@u@)~TISq=gQa)apA(evlB_a*(AGfvPy<{< zO0Z3Wi_5B4(ute$=yCZNs7sz8^*ymfjZF}rjWcr})RPeH1o69JyQ>_! z9k>VEH#@^$tIITHZaR4yKAX&~*X348?!W}|^~{ZoOVnRDguF;g0sDdyYT_D;UpJHy zZIg1U)TvCjZqJ}A4oPt?dP#9>yRXxX)_sj%zOTgJPM&aDZ#_6>n=#yscv@gN$ZXGk z$cRQ1Fb^X*RAhNLiRj{hR!}a^KOBR5JD;Ob$5wFB3L{G$d7DC|;57PZn6bWPPJqywX^`Fj6xlK>xtVSSNw=Q+R^g+cmi zUN8Oo`3~#hh$v`3-r3Y`9|YGTM(7jaGZ-r|0V{9LM4xDB9B7SUI49!Rp1-cqqxX`U z8lI^#5BZl6+5YL=B<@GRuIaS8cp4OV)ZizLF*>NEjYG;!&_6DRN2N{SOSlG}W!}*6 zeZf?8V+ovpJ%(qzPNUWGAGl&k0#3PRjT_4EpyHSb%8l`G{ntjIOL-Q|D855t$AO4% zp8Wpuu3}$jDz^V##5~|Q!!cejxa&IyV(+rBQRya&FSdl%2&|*)T=+P~as8-ly_aUr z%z=$Xjaby7hSI)5IJL~3+OF!rv+gtCPO28XQsaZpyUv)VeV%=JxhE>EK0|kPiEuvt zYGps?If?fxj7XVK6>0}%VT@Tc#vXn}mpt=@x6;!<@YNJZu1Lh=>7v+ZmOzd_RzdNY zBzpBnKiQaefodK0BC&n9p!t_BP55#GUM!Y^6L%W%zRWR<_uPmF9y;NJp?YS$<17%a zC;*k4xkPEv0NrOcg=?Og!sb`%W>wjkkdh8TPT#FOX#TMZYE~b>0$Y9@V7D-G;TE`W zHV?EkT_R`KCg5tlERZ{TkFCGq84g%&VAlLhCL_W@P{{EZAaKN^JHc{2{ThhEEqRt?|Zy{AVDsMg%GnuTd(y0JVZ5iTU6IY@f9RjAr?x zBbOmVN2lO`YbV_35RaiBG|5T>7d+u1fu;9o@ULUo zu;L7z{=AAbyDX)>qqS(iBm`2iO>4N%)_vr)fEo=D%6g8RlPpyjd@&9tUNUeqem zAo~R0n16-;~}|!x{a8t93u;jC+Pj_wxE2a4avP2M&4;EdT!Uj`%zEGz2P`8 z!fJZCcO~>Stzj#~yQ7s%6gAwGMb|kj##wGpi2TaE#5?;I>U(q}+54E}URsZHOS6gU zyOoe}t_YV`)nc3NLzvE6OD>f?qz%)3kyFWsRqiKo?L0TodTfDX-xGkPe4Bgq8$rHYX ziSR?p1V4HIWmy}hH3gO@(9Gj)bj&1!{o=hiyMJ*E9x+`DZeM~hGjJQ_)y<@v9WN8l zd?D@`8Fye?>tM^gQy|>+g)W`CiW&R%1uXs^qeW?Xz>F%h+s@x7`z?~$cf=im=ZG%m z3qD$BX#=ZDSR5tv`=f*&$(!|PqqaHma_oUr)(`Glvz=-*Z@m*&4Xq~U2F~7*#<_|QBP$phM3yjS#KY5Qw-&rmxYy=;mndc;k5hs#jO z@-A4NIm5L7BJ6s{Dk$5e3Hq8Y$XBb5#a^ zQ>F`pp3Gqs`16p_AL8N?LmqBxHXB+yI5>67HrUvA3^EdCW8rLhNL{XpEh|Q_BwC$&2kAA}{>sG85x=L!!hGJLb4)}HJB=IqBA(jLCFm1vNSG(+nu!@)PcK9pV z%6OntTotL^tjLjQy~oa;)dg+&p;sJ$)`l>iEU2h7O#%Ca%HICbu zaH80w2U=dONXqA-h?YHW<(_9nZ@mkOe!Luwfb|&AAqXxKQt;})bt1L0gUpS}Ay#~k zAb-{|P`((8F12eQ!_OVu%?e3WR|*85;1KVXYsojO@9ZHhUhZ&t2@@!@0ArtJ;?S|n zKxKJhy~~%TFDIsAd~qgez7ql>wYF$$nAezN>;l zlU>H&V8P>3s=hgc^xFP~uG`|cYUNwV^EqdtBR2pGB{*Qs&LytiG0ehdWz06pVFx#O zfZe@KO>Rm>G}SYVewGOZ`L0vo(yoQ+^B3SolNO>K(+Zu{X>guZfaChHRD`t$y~dAH z>#et;P5u)8T-u2$N_OZnGo7>#%?9%0IeB{c1hiN7qqpKo_}ZRNmzqu1|2!+OeOHmm z_{V*u>_a*f47KC6kzcHdxAC}W2QQo%w}8LRld;jbFkW`v4T6i$!MlxJSllvM6L1ND zn+Kz4;m>SL^wxRk0msxe_YhA_HQ1z&JaAY}y6+sAD;JN0^Fjl( zm%oj@&SFeke<=vuQ6uaFR&;8oGlu?o0aMx|aqmTAY#o(`>1m^QQ@t3JZz%(xz9+Q2 zkc5;8HEJq%6hHb((diXI=s5J9D95b>X<-KJ94Pr-;{%)Lo}~1}7pffniClkvjn;R? z5%mYL=ybsqbY)=cM0@35m2JH#-!WEHI6TT7O=DPWb5JY1V+47<=At9JjUPCk-c%uc|= zG6eSyWU{ja{4jGLKNk0#!eAp^VmAJmJm9-S9AZ|p`j=lr%evVZ7JrvE9KJ)Fle5@r zftMhD&>F^XAI7_9b>PYHT-fWh4p&Z|HP?;R=;okW+&FcJkOj`fR?VC4*rCAumNUXg zJtbK4Lyt+_r$yF1xkL`!OvlC#?%3!n!Tp>z6)tM#;AXB6S@4M=9ZP1yvRT>azdxGc z-g*FM_B;WD=ELyjRwc1555p7VhG27d4!sd71wwqP=qjg2VfuVxyXY`6zWJLdTTDaz zcox5Y?}RaHWscpnL6RO=fwMlYz}Ss^P*rgjcsMy|Q1pk{S+t7qZ`=xpN2=+x1vl`H zpfargkqnpAE11IIP7?L;6HSeBz;~{Z@WkUfIVt^%Sg+uM?37qMX(NHF8s?A(2c}|i z@G8g{1X?&f6xUviVO#EANNiX7!d1(g#8q*GSWFa?9Sn!gbuz^Km+8bV`3zOEdIW_X zX90OtVb}F$@?vf+6Yf)poGn{v*O^Xs@wc5s#_J=odb$hv^z=}yZy{FJHGssn6);Ek z20fbkggL*ti|MoFWk>UWA{*GMoCIrAB3z&efqgxA*Ze!}w9JK7zi*R*{fXS0iQ3>D z^A%nP{Y9(b7HII&<6czR3*#3gn%;X%=j!+jkotA$;Awq@m|vEIrEOhwis^ggnXLyO z$Df1Zi4?f(_XnlkHlstT1LnWJg&{l!?2g?xNxaNu92m2J&;1H8-%cE}D;Ck|=|9kX z_8D3}F=n!$Lz~S1-Ap289wJf>u~hwN8aZJa2BF7WnU0(yQdmsrpHy|+_hbsJo-2vs zb=OGe!8a`1+#I@z?=&@<#)r8TUDz#pm7JQnn@mJHLb8M~zR&ptT%Q)IE98Q6-9mA} z*fX4`a~0+usRrM61(5ah!2F&!5I3!sHZyTl@%v@idTu_v=o9CNpARMZD{oQASHf*O zM^LdOiHby|!Q!tKnm&4m)N>CH?Sn6nl@oA-0y9&?z;5TZ~d6U%(t1 zKcv7LS2^I?&x7%`Q$XL&860HysM?wxQKp ze-a|*h!0vhw5Pd**w1(3cH7M4X!1w{f7lF^sQm_EFV9oWi$a8W{h)#V-C)eu!)%dJ zAaQcpaPgKLOgrVwteKMp5eHN``H@9rSos6HuYMt!*HjLI9tv1;B#FLnzly((W@3Dj z0P4;5U~Kojgzlvx@H504-)~ulSI4X2ntlqDWWQ$JPkTvkPb5#~cA;oce}lk&X-?~^ z4a6bI0v{`Ok>4dB>2|*hsBmxzERjnFP2GGdqTWn3G!J0?Q3dKUE``zF;h4Gj6R1CW zPYxfIfglYxD0Eu^8j;;pATfb#rEzp!=nJCs=^POsX{84=&fo%+BU7|(X#MyYDu3gJ z3YCL!^6ngt=$ac;a7Y9rc$3h$Y$G|MZB1sMx5h4&CG?&71PaaD4XiaQ@ZM($W+3+x zs>sPu%yF%7aCV3TZ($8!>s`SQ z-u774kVr|!N~rET*EAHB3RRA$VOMAt%(Ko0!=@Ah%B|aa3*?kgWOjEXmele5a8F7708!T%wL!{}w|D=Qv2cNrBn>8mLUi zdghg805i*W6&O6Z4s{_-#N_60h&$&2%YFCKJsNhv+0qLi+Wvy%NG6!rcCj7~Y^AG% zWTC_SAxuo~BVP4yNm9%P_NM-FnklG3m8wL^#o;FqdoX~u9PhJYkf)#5PHPIFVQEmY#F5AOiCnZ6)xV<47IVb2en?TwV-wRnmI-Cphv(ag3 zA$}JMz!yimnddeh;Iu^^-p^k|HtZ0BWNkg%@GFSg=9V;Nx3%Nl(&Kn2IT^D~nSmV% zCJ}p-;9k%>j2vVzLYiqKlrw0Xyg}XN<+*=9l+Z!gaiaaolyGNZ9F5-Yj2YeciV|MC%0nd%6V5O}U zs!E+>n3v=1H(Og_1K$fG8KX~FRaSIxnl=sWOSbUoSlrv`bVJ&8uB6Em*275X+P!ex2j{y8oN{C;6*Fo|Jk|K-p- zJG)3Ge-|om(+8cMW-x0fhn=D1j8XN6klI87`Zi-K=O}#F)TI69SDCz`UVO=#PRC?t z!C|ShxMb~LB58Grz2LSQKDp%t*T=-UYGLO|xn(Cvt*-|>-bUU8WYe#$swl6JL%%E) zgQMl^F!uFwsEropSOkSIbL1*9OQjNdZd-tNy+1Q?&;^#C5=JbxgM|vJbbGW3R$AYt z(~PrlQ}G|Tzx^8X;*T0E-z$P?r7^fI)R(^aoCxREO+no!&NyYUG8s7Xmpoq81vh5b zk=mzf;G=2;d?(WJ{iy>ui;2hP$TMhKyaxQjkCO*?irCU0)VUuL`8oWPF~{rm{2UBx zz?dJ_c=(q%*KbDy`TaE!WgOx#@mw`ho|O=+x)iQ_d;@{;x~MDTLOu$YA}jtZ74H_n z?H!}!noa~HUJ8N47JEFIa|H6z^qCaBGRo&_fM4vTP)*=Dd~(kv`)@BMMk`|IaJ&*H zL$n-XGmX$fK9P>NZKeme$&tj!C74|Kf(Z6Cz_{9JoaL2*$u8scZ1Hp2c>6E#8HIro z?t?L>SX!BxMi1X>z&R?bAY#`ql9E#b_{yFhTPRI;sw^a)w(cObs0nrUu)z9tdDHIj zSX{Vs3im3C(Ta5qAid=wJpWurc;^0siI=)et(ZSF3B94*CVph^)4{su{M@}*0)nP$ zIAg(DTrZM|*=9C$_LY7J;t}LnX5L4GLv{3_M-*k=+@S^@atrx`$+S zQ4;-f0h2LhV{ixKaNrG;tx=)& z+xJtkxw^D2_B0;67=l2u&t&56y2S0S?UB0pZ^wY zM-Pylf^oEb&=7P!ghBLb8SJZdA)-rm!|JHxm~FnAwV@;l-`@&GyLnTQ-|`F5cu_(d z|EOcXmMy!gGYw}XJ|U~_rN9+~BE~4vnx-#7vagGm+vg(!R?!xmO7<_Nd;Bvaw3UEa zb{B+Z2EoCvBHXvjrb2kO8pp~(8U9Yj>p#|{kmS)~jO@sThFX6VmpI7|%-oDq2ESXEjBGbjJ=b2?Aw$&VxPK~ ze$iKhKbvG&YiC|1pOhwX!f*l357%j!u%HbddM>B$a@T>(Hxm%;NQ2o+?9u039H=>r zz>fV<^z%GPb{3By&Tu(T-$*@ymiREdxNslxEWQIfUMhontq^B0|22JN%}Z2NH8Fva zA=z@TP}flxJn~A(Ub>5U@T`qyNqV5inq{!^bq1aiZ)tx%`CO1T;Z>im`OOD8=e7Qbc?VvBNBV45uCpq59j3r@E7|U>qJit zo=-KVX`D^af1!_l;X6X-=BD7ipX%5q(hsGM8SMNuVc4!&NFxF}@ONi8<|?0q;n&jC zkN*=~S<%XPI?FO8(rQp8wt$=a#D++gtzu%9QZV^?06LXY(eqCp$ghi`5buS)4=l;G zB5S&5|O~ zf`yOM&`;D2*XZ6S;d(AacJoolzs!Nz`f<>UilBXI6G^_D2*u93AT60o4qqq&k2%x1 znU{~#)Ra?nRzf-i&AkbS@*7a4uoi~LGSFT&4Kv^R(y#A|sL`P|^m5h!n^7HjI2;2{ zMxW8cb5t33(;rQ&sgJVg7VOGH3QOjgrmC#rTxPB=pCz%f6NO& z-g9!Fe@nw{#l!TF_$h`nEC&ac_oJfjZCqLNlPDbefrTvt)Z^DA64`a1B+izm2hAI4 zhk*k`3Z{{lMe1l9Ig{PE@G4pI;R!@oSwhx<9Jsn(340d_qQB5SS|=b&zX^upEYTv^ zIM)q2!%tC-m1=Mf+)0^*5iFOfM4kC^w6kG1!&j~hmi;RD?2j^cZa_TxOB`aF9z?LE zqI=-^LOF2!QO3SpDZsqkcnpH2U$Prz_Bgb>jo&{-Nv1)E$5_v)MP97m!E`34QXKY4Eq6KbbCquyFj=R6M{xZ#?oov# zsJ!GvC3XyhzQi*u659pGdu}rUM=GeWeKmfFm;v_kIv{;y0NRDZAx2~driF|HK_ zOKY0Ew^pKdAOp&~1VMP{G9mb;%fV>&v=?9Ds?P=b zq5CRXy!{3~OlyJNc3b9+f?ZH_Ar(DNbr5XX#iAqU$#tnIm?nB2 z9Da8*UNc_7(5BV+L6g8oPk-jg?Q**7`5Z9U$)Y7&wYb89=G?}R;njJz=H?O3ESgP@@*~scuExjA5mOL1bU`QaAGB$C+_LTF-`Q@i zy|~T6hZ-DT12J{YR8GZ{USF$0uK(hpAKpY_<@0IG@!(MSkQjsVO-QXC*Wivndtt2x z!&H|!B7SXRr%7dFhGi6<9=w9aiARymR6%K#2};$yC%y8U@XlUSIK3$n4_2wLa}PPN zTYpaD9NRtzl5fbP^EO@R?Gfe-XWqp(mG)?n;YTwQAJFOB&QQ6rGJH^b5kx2P!4m>& zY1^}CU|Eber8gWxufj?kirPibcPvMR`5Oq=?IJ48T@TAjN7zB`rbIuW9vU@XP~}cz zWG@rPYV{TL&YCMs&S^U|ImF8q%aTGFlX_wmD@J${vcPTaPq?_<6!w0rfemZS;n%ZX zxc+toQjY8gy9fHUSK70Dh%}$P z0#mtJWciDFFdxgqygdq>-5Lq7(0CK!@xBE2GcwTbS~^|)tRC+FdXJiiq~HQe7&4_M zv8cRubQit@hm56gci#Xl*?9_^NCF0D-ys7oNoWzt2K9PPJa3+ZVY7wsm3t)t-XuDt zEY2=pwis?E#>3sKc~rV08hv_l*uTGjB;r4=;M+gju}H}X?K|!0>~2%c=P>}@fZJ%S z-;P0_&rrL*CG^_lcQ;_GhAzc^pGwS^T{lVI<@U>(0Gcn8#U!w-%{@UQsx` zuG9{*vR;snS-!vu6XiB?s+sO3U1Z%acj75|0B+ki(uw;k*?Sjfg6KnOZq@VY@a5AP zdhVDv##mPpm07uPhA$dqHjC2aMJ{l05(BIIaDln9TMsYhsbX@-CYW2K&8!`o^ZLaYASF|Bq3DVlK;o5f*vh37rINIO{U!)z$qn0o-5Gzhj&M&}g2kV(jp>9M; z z+C=E!Tai}sxGMwp**<_&Urjd0Xvx zq!^H0{R(#WIAYP`6?EXob;2LK85P{)Nw|$C{qyM%E!e+`&H9|m-g0*yskTzUCS^&K z==;R9+Zr-YYhKV@PfE$G)o=0P-(`4lLo(f}wHZ_5?t*4iHcN@$fC%gyr?*VQn|2?| z!KeWpdh@w2J`zfzl@I1}z1>o9%(W3d9k+v34^KmH!FhPIN*i|cy`d#nqcHYH8W^&o z*fM#_9Od^{Xm9Lq5K2;^CH!Y$vCd-<{1|~}ZNAepMp4+cCl?2=YQbj*ODYq(iCyC% z3B7a_xwRz_*mQyVuMq~3H?zU)Ks5y7L#Ap-h+F!{o2?MDmQ=V!VY`q#@$RXoTc4jr z-`5LZ&HAbMaq3;FI*Hk6spUak<~(Nl-$M4(oPOH>dxZF3ssw{xb%=bZ3vcukq5W(P z+FH7x;aeNJtjid=rbp4g_yfvpu0$LANb0Sd#H3GIg9*ij?0w38bT~5sjKkF_HC+rV zPcbM!ym9^EC7d1I33R&nC*)I=Ln8w{?z@Wzh~zqJsB`niD|}-#%ijm2gkB(M zR-jO(HxOegNU*f>HNHCg=h;hy2l<0+%bISZ3e}At|Q01oNin@nd8iCf>3=~ zJk_X%+wN^*o}IZ!`ajL0yVu3Q`QujjVfr`r$fsAt=3NIh8Q%maj?N&r#w=l3s|A@^ z&n3GD=HT)}b5OA16x^**g_y~`Vy16QKE0FY(oq>4nsNZNGTkJfYMKe`Dh5(Rr>U)Sn;Q z77e0OsV}UVBE}sQl*HbP+n7UBe8|ubW87f+4);%6i`nM@1BO;$>&8IXWS@gy6|za* z3{~RxA^;j}g=uo^YB=Pyh+f#yM_gREnD}@;w`*-P5xM%5hy{EmKV1dUsG5Rez&q+6 z(nF>#n*mjSpFo{W5iK*Ehs#J4*IW=E#{N z5^&vFgBz@^1|qK{an{c_Bt6rs>8401%cu5vEJ^mCAmAQN2NUIi% zRu5p;XcCC}4bwNqhA=c9h!HiJxbEj~c=X#J^Dm}>Q_Ls!PlX;DnrFzE$CsgmlWP+z zGagSJY^T02d|;J&1Zlm@pvo^tP%eGjSl%Iu3pD^%7%iag`WYw`Ju+E4JJw`bRmObs z?xeFtGGVW?Aii$ChFy#fa=R-aS8yYEr$*53>(!tZ1mG2Vlv)gE(v7E1lZ0=R@oIj$ z$-%F=B;tJ!E_$|{F4W4QO_`B!XvPS(*tOEc)8FXQwg7mwbuqK&^&s4f(FCq=7nS!8 zAQ7wTs2lGV@Q*%&%(D%+X#Eg5F?b3jN5#37@2er>h!nl2I)>It9PUU$HA>%LbUjn z9(u~{hFhv49I?xr$g%gipr02724adhs@u!*(JI01Pi-jwIu(>&d50?h0Cf73M!h(~ zpi}>axl#NcTX+G_1-Ibna1hz?m_LxznaOoNo=shjU11A;x<{|Izkr%s$MLDfRBSBu z!W!GD=rAP;)E6Jl@wmh(}1d*@yP!;gZkXyryV`}afM|d-g?G`b^3=;Pc$9|4?U-8 zB3(@)52QfNL;-c&q@ngZAJ=Y9Kk@uMiyN_e2R&Qu1h`HaY!;Vc%H<5aYqbcsRTHvU zjE{Sv+@Yy*e?H+1r%>NuLHH!^L7r5IqU3{d+?y**@b`W+lbnXvtiO_lyXxS>fFh&U zBLNo&>M?F-FnPZ%fU&dBg^l`exSBi@r4eXe6lpO2oiPuKHbtNPK#@p8A>Q z;_FWqjM)KAD(Ps6>ebtz`_g{qzQ9q?Xk1CR=wEM&keP~SU%zf_w_6Hc*dPD~{cOWCtX&;p4PI4M@@8OB}9uO3>3{&D0 zpb<@QMW86&I95ZJJ(CBgMsv__zs&5m6@sXK0)JiClJC=G=0n=516h&ktc+jU+F=gHJwCD^D&O}$dkE$PN8gsBbwbwhxYL4Ag_=PYNc(^ z@@NIF>qDr?Xv94{0Ier}Q;qq1@b%hR;P7@I2wCq06M-${p0W^Wd?5(qF_T=;6QaNx zTu;t%?ZIKyT}<*3q%Y^3$5&^Mk!xCAKpH>M&FlEctcvB3zEOZHTrmYZ3a^l@JB+!? zQxD{WgczIzRQlgYxw5KDStUktM@CkoDRX2DK@Vd5ip zhjOBG;8=GU=h^ro7*pwByQq}mZ@szrLQzjPrL%H;>kRwRF%FvosG{H zo(0v>Rm}LrQ|xkG3bmGzAZMz`<)1#u_cwUSycK4_cOe1f2yMix^OnKqwhwg1RZ&p4 zNJ5T66>e}`4y#v(6DbWJ5O5I2DT$N*)IJC6KepgA-2$)@tbqFqx4^tyc_B_f*le4k22L`D>%j6#v9q+g{dY42U69VL~b zanJV&B`YmSO0pXgNk;hHf1f|^>)z*_^Z9<>@8f|Rr_2XxxBxt@&*L`5#o(Iqk$f|) zg-@k2+?pK(0jA$bW|tQj^RscG)lc?dp)#A0e45TQdqZwGsKCI}26Aud3fgFGgh|K4 zKufxe4BMYYvF)qr3Dq9F_ez?XrMjN3l9ofQwg=EP9*Y|7Iv_SOiP!%o7@lYevg+#5 zC~18SKUB2PwLMGFKt~TFW%KAKhi10y=npdE_(i;sr-kzV^QhV4we+*p08D8)N@j*M z;>#KBV)WfQgCsC6fTSohnmQ_ z$p24`+&PznktPAy=Cy_Ca<3u7AD-jMw7*2Dels>d%7SY;H|UF&NOXo&#y;W*K6K86 zj6V_vvp3J6tNo_J>`XuWBb0;ga?M2Ob{MKW4#S)k+acwMDERnfU>TPceB0@W$M(Dd zi(yCj<@t=B@t1?MiA5N)OcTRzw=)kyK9Jm`d#v%84|#bkgK76uqX#n*=>hJvC+2^Y zIB#zuS7xs#W?czbQ+WoB3?7jOduupmWG2z6Z=wE`2Z`;uXgnF32i%d0gxPE0u}6#O z^8rzO{5B87rfs6jrzsP*M;3ZB8LZ#6nzWn^Ba(yl=wk0r1YHf;*9s!UV_1giF9{&h z+`FjsD*+R=ifLfpBIq~#PIPn!NSeV?-ni~8h`AjF;d<%Re~B;Z4rNeL)0IHiH<2-q zMl#K37nRzN^o*t+)jy>V{rWo~=#d}3UT6we;}@Wx;xM@yvx?q!YJlD;?Ns#rN^*VO z47gjp7v)#RvrRr1=-Oamw42vU&uou?O9o0fgX`=i%U&kXREp*wCxF1v4a|5j2P~fn zVx!_jqp>SowwLvbxwPRZtc%}>7A`YT@$N@*A!?K)-JijC8W-TL-6RI4hnK;saapSG z{RtDQG-1(oX`Bg@VE+_5n#4az7CEfOq_wutI5P|GVOKEFe~f2d#1QlG9jJG)0(Z-~ zk=hSeXjJTWc+1Pgy* zNmBdQvZg#;2BU9?qMB9$*`eTtvg3}SZ5(pJii2j4K(QnPbaXle}~Sk!xUOy z88lMbd0s%Cd^RE)-1Fak@g4E_Rsa*W-lB4`4E~5nIMq%`%6-WlQ1qcQX`UdIWdYse!v`Ds8KDflXd3x$ehV*i+p>++AbI zL0_c)g2#wMaT18h>|rPW76a+G40CAdKc+IN3(Q-R!SiA!)0w=B+%H;=Zpzwp|KW?I zsn!O*JOWrg&M|f~yx>=3IeY4=H|9%Tg{lqJ&@nNHoH@Ay!cVP&g8Wh_+h+hJUkb1! zLx6X}@d9Wa7s6Vu+wNv42-7_ysM=^g>DxqLyO0cKbVZ;*NFA9GCXOm83PkzqRh%~4 zpDK#!!ok@ypsjfwUJs7PP8ENnj!RN7`{Wbyai%by@J=F2Ecjfla|`(^(TsdKOQPMx zF^c!IQN@46$m^~nUAN~hGqHa)N$HPPC?KCB;PWx04s|co<<@$?egiQ2FI;gm>Dl0Vm?fA?3p;FB-qG1S1D7>)gPkMm%xqTot&piQWc2V%&VTNy##%Mw6 zB;G~UI_A^v&h*iNfg~xu zWG(l6`?p}SLk6Q#x`{sOmZn90%jki~n?|Cmxjjw)G!m5%O-D)|lc(NWp<;(5uCYAH z?y8IfQ?+pXPv8R_JA4%{w_c}ta1#HCPUeNZ5WqRQ0(h^5rH3BgVFK0jsh6BMjeTj) zcbRj9(e8;hYW*Aln<6=WZY7T%_+|+!1i~?ln}gJc%c4ehB92NBdd;K^0&MijU>L&J zLcnq5^YDFS0Y=t1km;{&$@v}XAZPDKmK!qoXqP<<=5~Xsn*zT6*pJP*|A<#q0c`_O zdc|H6%nJMHSZ*-&nDm%^Kc@yRZ2N8$zUU%`aeE!}7)hcO9feUp@1akr3YZ%%fdk$( z^xVz_@;#GB7V1rhw@uT5sawF`ZRSDu#7}@dYAsZ6ojmhuF%Ra}F(J|AO}s)sUGaW!^GSsxO5<%bwNj_$tHWiyb4H<$3t!jTGj0 zP?{4z6@K`h!1YlaQ}RKTPCfpP4&2%VS&LOcc1t{{co$IT!DMhxyoPZVCHTTN6|)Bw zje zoKag22MfyJg!4h>bQ7XhkSuTVx_T1WmO~%kb%WUtmP6a4JjjSt$FGuEB>6!izKvT1 zLu1u7CtgKzT}=g=>hDJ#R_(z|8*{jHjY6}(BsXiE0-9^ONpax>BOi{rqA9uPGPDNW z-ih;f8r*DpgO=9|xPxW%zQgE!35d(kPRC%pI>(h?!GD zZ(do7+s~Cldx`;*Ru~GWIS0^(DL3HNv@qhG_L8*U7bQ;|1d$)zRkbwrHEqgv2fd+9 zG&~$}*H}AF7wJZ;<+H)}KrD7-Cll??N#sjl0GsRaifo;(LRLC2=C3Htp|kUzlLz0L zp`-g5-2CqvE|V&wCp{W4DfBk1&hZChzcNxMzla3hx(+ucr@|A1IQY`sN2WBE()IgR zf$~R7@LXw1-?x|1!_v`kTkt73b^vaAexCXjl@b4WKgr`t5!9Lb1$t(75GpPXv*z`} zp@Da_envUl?VN$x-b?A?c#4uI0h%U0BVt|Q^y`(!?5WQtaMwN>_sMJ~a&pTda_(DH zvR(q$*0iJD(_vPiKMtoZzX_pS_TsGHil@TGNpDjt{gA-N)>Kh&?fc7R*#YQpEQcrd zSir~T9QdIY4vix-sff)C{+n41knJU)664^LeQM%xv@_;etb*=`h& z5aZoBatD7WR-j>_G=%x40sn#gf6ZZwu$R{Ri;V9vyqu_|K$PDymyHlijGH>s-<8nQeI`NK1R=W zCeYFwOL0}`ez+e{j?=7sabR0M-5=QqSH7MHS+N$5mo9|Im4)!pECFNp&gBn%jAc`< zM#AZ94}O0E{^4(dT~ID5_yallE7U&Y}YLzr1=JviSnKA%2ilah2vOCemujTf`+X3ZJjY zA+A7UUm+{Z%IZV+_RYfE8-nJ+rrl)WYHoud_k=_;}#WF|H*P zeX5_RklbHbv)TyPBz~}YSVlfY zHRcfRsoVmi#p-;ckH1M_UJz^xm&0!3E^6fyjI#nna9DesUT@SwuMQ(rtqq}5MxtoM zo6nHda-X{ETqh~l zNHY;nmPDa_qU`G3)4;#~BosKa%zjE&q{H;;jObcb;nAY5>rR5i(6TZrT%zs z@+aKCNdz`GdvK1rclh>A4PkRaAR~MlJhXaBe_e3J_GdZFo@yUbwel{r(p`^Q#f4zX zkq+`q?hDzRZ9%du-!Qpf+QIypGRlZ%gIJ#-PWu`Te_p1;6Nvv0Oj0yVCTdAsIf{07MxMWN#}y8{BAo~Yd#5OV}Il4;9RVoInO9JUHBGT=S>3c3xg^u^|_{$LWKN&-l*SVrqMGV+Jx8z$@ zyrxnkhODiTI&P7%1@W$As93HPiA{6Iov;D`FJs zgrnguw8`8I>G@RLVYnIhEQ`g^+0W?Cquu1s$}wi!&2fX{H3DZN1WLdC(zld>LTMpOrZeUNaB5%0s zF1B^(S*)sXa7xLC!StQdHFkVMqoD)_R6GhSA~OrnI2Uc@xb?@9q7g^ zr5oHcG5ld6x{8TGNyr67T|=(W^tVZoj&%klPgYMQ%4N6gV@n2bJ0jllS$8-Ko8l? zqKBcCMu_KO+U#WJx~~P!OF4@oULJH&pCNe45HkEj3~NkfG5@X#%s!yRpEYL#@OwU^ zqGmaM$`wY-Hxj&}@^;wQr2~~=6=dq(AzT?ahcqNlMk2ErZv@OHRx7^HBO!ZW&*L#n zyp+rYOt!}d)y?$pSStA{9EqNq3&~O!8>&B39bXL%(@vAw^mEiItoQtAsBtuc3j55& zkuwirTS^=0`g(^R->pD8j-A7xj2^1pn?=7QTtc(0^`zZJ5Uc)`(~LwJr1lJN{$+K} z3o?Np^WYKY+nc~^>8oHGqQyBYvY?}b0eLYKs%sNSC#~e>vl(`vedHn8WV#rw_AjFn zDSu$vB|kDVY!7@`Apv2dp(H5%C3B$qAPoP|g~_vmh;xcIjycv5cf(-zR%<$yan;~u z{=17x_U<6qu^VSvixPIfDzC|wV*@wo;}6fsnw4*?F<|pP7;G2E#Yfe+4$BoZUi|?j z{yRdu?>1o8_S=xsbO#4o0&u*pm5j_##NeH`u|7hG7rep`pNy@gQ7gC8mi86kQ8`GA z3btZvOD^5D=Ma5T4GE_AJTH2^vx))YT zErU$gwK%Q$0O~HkPp>cX1wZlKM0C+3R`}RWG+Pye!~5~BC5?Kk zx8mb_`!KF>fQ;zI(oSs=-h)XQoTn-ero7aEI)@J0Dy{^}Q%dQZ!X_yH(@2!IohRFs zg~*iJm!J}O6DL>G_TmW-ESa}*ErELw5$b~U*FJ^*!ZY7$YcXt0>5iEmZ~(_3x1 zNZadaV~r~BGS}V2kRY0nI1_heXtAQ2B4lG!JN;fF1}X|}_|DoLO+r{AnGlb!G7P}* z=i!>6AAKlq{EB&9`V2MwwBg4!U%G905bn(hhWfif_;{-zfAdCT)Y+1T_e=Vq`R~G- z;BUtu=5sWy{iRF$vqV^htZ-Nx&Uwe8Y0Y`W zOoT@2#qCRT^jYdW?-S8ap9i6_&Kx^;0(9BS?6|xjx-DK$>;$f1xy3P}?@))4Vds!p zCdlvFyqtQ8H^Q5`&#drmRj>?GQ~SuuntCgh#u^0qvs11p*BYgH(E>6S7+L&)_pbp4f}EC zX^jCbyO{~EK9(6qr)FUA`~YgvCc@wKF9id+&O*~_AL^&>40G=M#>ZnZ=dxf3`0pee7kiM= z-YW!-S?V}^Uk8tT{7U`|ey%wg+C(ct3fQ3Ok6=^lYZ_7bgXv;ijHT}&mq3-ENGI#{)=fi&*7t%BJ=M1BJQ+HBZr zafHlSQ-W?}; zMih3oWaHhPZm?&IjO$d3po7$8+|(XI-mY7XMj~#|q^}0oD#IYjFA7gyc#c;V23L;+ z>htExWpX{gDVT5boXj&d02{Sp{IIDQ3|%#7Z$%|Lx#PCcdcPRBxYZc{`gG#KojGLv zLm@tIQ3^f7?OFXm9tJsQkIj?WFlaKJ*OQ=#{m&kfZJS@wph z^9KBVHWl8FPGJ4ICE&!}KvDt~M7Vt`-I%%@T_dj2^{&tGQ}7PxRJw>gFZa;3@8`pf z*W2Nt+8gYcUc=_^A0Qo)R!pu$Aq?AZL7#cT{2}C}@cs3nOOE2T7 zp91gDneB+nN|_6j(=gp-5wmnuoYv$~wCU90Jx%*Vmo553Yh*paU;iU0EQta$elm_p z>>^D~!#Ka)0Xi(2G3BBKZf)9J{r=e-qMsZ{tz2(|;R1cQHhDe>*{0*0fag#YZ-EaS zxp}0MAkUo<20^6&h}>w#zjIE8W!hy`f9hjVke ztCA?sW29(o9of0p4|?6@K-2OyaXW0p@pgUaeDf_{znjX6I+;_aWAfnhE6Zs5s61S8 zxrF~Faxi7yRV1?YB*$qOZ&;NQP4OD6wY^J!D;)%j_Cw@fb_=I(&_vC}e0=_?0}uQh zW-45yKq;}8@Xe+}^?cKs#-E{d`_5og-qK6I&Mm;Y-PX8Xxq{ie>I>_yx{4=mT8O<$ z0`!GZ1@?s2)8!QUl0I7w3iY!@u!=HCD_{PW?FGmm!vK8qI~UZ{}?E+y@umubrZY0Nd1hPc~*$*T<| z)b&;?mr?eS2$xl8;Ju4{Z3!+?G$R5!Y ze0F6WO4K`(?V?(+s{JR;wAu>$PQSwqE`b;_djj9O<{%b|*MfMNFwa}>I8i!24`W96 z(NvqS5=Ai$jbmr6L8PF;H8&<3qq;_iR zY~;B+ppq~d9Rdn4bB-UG&Ye>_cz$jgN7-8!svN!y*5q^hSm2Ii85w;s00q>{DP`mnRM7^2dilN0I#_{~BLH<>Mi-NAD(Ywr^{ zdcdFkm~f4`I2H+lj3NEuuR}&P9l-Wv4W`J(&;zF1V6V-2CaJj^UfjHozczQ^VhJ+{ z&9Q}TZ_MZ!fyd-^9f2J-mN?;?4#ur9A$BJmL7v3p{ZezPq2xtt{yrsX=Ok;ya1shO zUxIs+B``lco-V6+h)b@o#Hd*l;LH4M^7XV5ES@q2W~7VoicSKqS@#43Jeh1H$C$z;?PIq)JTW1$k7^eczifr13mR?-;<|HO45nKm_&`HM7dWrgW}q zBKnUntr7P0gWIuLM#aI~a7XbaOf=qvKYAKS)?hK2IJ5y3e5UaGCp{x-O$X7zVJSF9 z8RMi6-l+6^CJBA3$UDXdkoB2F_E+B|(WQN)gjw&5}2mR5aq%cexJ;ZyltLQo?U5I4!yIx^YnltV>pM~`wMCnz_ZRBZ-00s@N z2HE|Wna-a%PI}W`)s0I z{XNjk@e3V0xRdG)%we{S6w{|agV`BIZY=42OJz9+5PLL)^A(En|K)C>iE_iV-Km|d zT2O`EZ~oEWmz!D5A6!33{t5~8PQS3 zi)-GKO`5CFce)r15A1=a07Vp*vSTH+4`S8A zrj8ok+v1AScQ&zhPxGjF%u7NybQyg%yUa1F&G;epJb6E{1m^o^GR8WVP|dk(z9d~B z0cS0-z@K2bHzX?9H6UZkhZSaL^rC9u#eVkVe`+#!!$ib{wa-LM*kW!S)1@; z9R8uf&D->G{80sclRXH{tNkHXMh=#Z-X^`57t*AGf6%ql0{mYChOaEc4Krmx?AZbK z#D@yZad|<8IOk6Ob1|sbcull#&cInhDsbe}Us{scO@~dyvF=V3EXj+cdWGD6YTa8X zo5^6p7X!XeX&`)2ET#vkEgDuRqSwAQ>MW59^*E37r)7ha#2@0b^&)-Wb&n?2Nx>1Z zEzr354A^}Pq>BzOCxzz}Ksxa*y=fMW4UQY}U$X~2#C0ery-=wi8 z)`RgfF?=P`MKx<~;3EGq^4M%XJ>#N=11|&Uer`UalHrGfr*`0zbs6wgxRKV1dlKQ|2>w>^VPtClg!I^*o5mk(i+$GMv5Z;!}k9Ui7T7h?f$CLS4^#4DJh z0#75uNb1OGtXXpy-Zd2A#`p#_kdwmOn!jNA&{qf&|3Eh-Y2v=IW{hpT#1y`tPj=5S zhqI9U~M6>B-935E}jh)H=G*r!5=x)6B6zY!%S% z%~XG{J~sWQ3xA)wfzP$%8aiT$3j0DxSNAcx_>l)K&=kfS51k?9)fw_UIsj@WUxlE5 z{lq(85D%*dLaNgciA!I=YplCSic^~>K8!g<|UANClMIG9Sa3>FOnz! z2I(Q2Jo?Y70P{23U{?s&bG~v4DT7p^YBy?5#LktuD5&g%OX!oW87rG1b4@yTe z1xZQd;;Ka4|27chdS;OBszT_kV97?-Cb?&aXz@rOn`FbqY?a%%r?->fL!|# zLqxt^hl7wsLO7?&eEoAwd0ad4L*)4nTDHNlmq>j&0_otbZD7<~3Oa4#F!kYgFuE=P zmDMT4XQ2m~9h!|>Yuq5<>`eYuc||AXcvZV@V z#|_eIu4j0mXF57cWx#>jnV8w53%KGowDk4X1UmWxZ&VDtxeumTo(EIU4S=NTJk*YG zN73~hj}_w!vm>Lx_`ivG;)XcCtA;xR@+O07?gdu9NRPb#DT0NM{h__0n0Trv!mQUS ziy@o4$zBd|!E9&-gpAJL-izKP9r`R5h*`$-{=#$vC&qftIuzP_=#jB)mZ# z^8YKOfotWN$wFc1HLVc0zC@g{VgZ;4715V|pRqy5pS6E}3D*a;LBV2qTzpCkRQHF1 zwuc)g(o{z7`V=^wHOMS~&9S=LS8(&wDR8d;2Q?cgB?khWV4|)D90)BXf%{aU+;Azx zJ0qayB-Z+^8W~DG28!~(>7@QEc;&)4=^5KXO`=jTV4eW%S#lE`Q=2gC#aXc2tHR&= z^$`_I7=WqM^XVn+Tg>wHrr=oq0*~j$GV{-#V}k95pqBG=DBIkjRryCT)iD5THbwz& zTc=T;z9fc6Pr%$I(zq?*E46-p8JBwo&@X*A>DXUmJaKn6Nyu?0E`E~uAyJOLT_C~J zDi`A&9XyXlN=Gm#h07T&fl=;P8j7p9y?Li!C)G`z!SNi&Xo`doY7lc6is~R$YAbNjy?$B&$7$2FVtD<9^|}Q2{tlL=*eE7 zZv5kPN##T|{Md;XJs0EJ<`URD{|?ReXk|y=NfEK{Q+Pg(GDeP~VX$3A34cEcpu+_g zMsbT*(x zfhG1b(5V&$!*^2fcDEpPGERfDCj0T}v{P`a$`Io6!$`&YeEQ7C8!y8fptW;>Ie3js zvTvnpm1i(HR~Hihnn$GSk0D4}uEmp;)p$I$kZI2D!FLrobk$BF&K2>Suyud99`+A} zFd3fl)noLxTq)60D#u^T&cKWwb;h{vKh|h`4DWNCtIh>$u8ZqR7i~y@3ZZCdo2`l^ znvY;*kUmpXyPmmP@qlp}4QFO-TgX2!%Fsvg*RW2b3GPmK$Q@^P!jq+LG?R0P80=Vx zKKVc3`EqTPyUp#ZyUu~PG#|9=+aTd%0608M28U*AM(p(jeuKkXql3!IU=$!hr!Us0 zu1y~JOV1Bat{s5*{?Fk1-{R`-c~M*y>p#4IMirJA^+G#)2WOrAL~Q>|1U(rsc)q3u zls5|TtQB48Oe;;OJX^?YYMF~_`61-s2Mvf&*+Ztr+hfa)PqfUrj~=?R15GbvkO#8u zP@11bgkUZovYoTzb8t;S{!8qHSz$ir+iN3ptPpe1S zwxGF&H-m#v@98D-XPG879x{bT8dZ2)sf!qAa`y$v`>{PAjd>nUsia%Q7H{2eA`*Ki z;I@~pM=4mi#Wn@h0t6h{0%2#Bp<~exw$WuB zm>swb+FR^Fd5$nU^OO~a1nCeE83uz2B1&exev zWtZvWmrpj#kB$bSt#5<&E}k^xjKA-s%`rNN$ zd`T3&c1oOg^m`LASY1P(<;qp)f#6ZNSK2i!hUuS8a`syf-iXNna%=z-fW=<^N!xU@JH5AN|~=&v-={&HlBvPO>li5G$5aR>QmaXWG+IJ}-+5mPF1Dp(d#pcm zt$!n`i`}DJd}CqmG;vsv69wj+|G=vC0kIu_gIO_|G-#s(opL!1AW0Cfqy~}CnvSGQ zD-KqC6Q>=0TR}v>6PG46qNR!~-*V+TIPR_qz6l2*!ErGbtdhpI4`ZzA!&|WXNe77Q zt_P?83P{VRE70)gEcH=upmwt-P|cnQ;m zhe-H(mSZKPFnDD+8pfXhg_u4fvyr?1W4Q|63(z624XIE@Y@21>rTU(ja~F> zn=~17D&b}yGf-aM4wHl($=;WgIq_8r7pBMr+L;6{*-??;M z<{f_gkN(?@C%3J~DEl)g<(mrcs3$#OI0tVI-hfIQc}U&vgbo+e zu%E<%RZy@|^%^c|V&3Ae&Imk~cM(5*72@aAgkkquCyaVKNY|8fz_m*kD4V1~Bf0xJ z&I+HT&tE+vwS|%7rqpkyVTv{{6b{2n&I@)YoF%5k=J?y|Em0Na{6!DLF;D(F_rHAx zEQ$ocC2uFpKZv9`b19j`^>E(Iu>`W@96UDhX9qn#vrEe!Lfrbinq`8ijQiji$=TSz zwhC_H`X03;mYvN$YaD>P&(=YZ>ohFMGJwR4bh0)z4>C9`WH_>RJ z_DsCtoCURqcf!#C5Bf@!bB$$`(4bKnxTS7P9v$mpBJWufPo4=xx@oYB4!tLAt~ahf zF^?y-J(?DKasFXp8Bp2ULZg=p7#*z$uXg-<7#~KwA~%#;k#GG9R0TNi64x6rH-Cxh zZ_H7;y##)=2k?pqk|3%o04ffMLfoh|R^Raj+izj$_ALd4gtPE_!)XxEaAHd$8kvW7 z-ZlSCjY5%f4dk`W#?L)v*e@rDyh9-v{#p(kR;a^Rd=Acjl}Pu-eu6b}|KaN6o#ge5 z4u*Xb3dhzYk~=M3^m6qDW?fD$Q~aQs&FRR;pjnsTo!DuEh@{=GP0bC`&~lAwIUFf+d?0O%t6Q5CMbIAJP``gV%|L7 zNIFmI5#txJ>?I}uwSO6K_c%SE>Y5XHS91$-YCt}YF+m2jZAJobB1Zy_7#7= zmq$%CX`J{ahJ3m>3_*uvx&3}6WN6NZTEQr=srUp1HikG+Y6EI>=TALZ*J_t+dlH=K zOAlvHLtXbLz-tIY$D2!_b-5_aob>=ju5H7qx$2m3K^nvct7-YVVs>d<6|yhnc|uR3 znaMu?h>L>+CdjIB-GXnRvSSq6u0)VX*;KUL{e-IToQD$+d!vnp43oH1m0uoonT~Mx zSJjUfp;}2T9MzhJvP(|VqSUE4Z*m^H$~6z(n$6~|d`-aKG!)*Iy#T2WU-J7;13d0D z2WM9~@_ug_(N^ul{HS;mn9TVI#GCN1zZsdE5`m|u_f_AkokDiG8WKNl#xYsi0mk?h zY++k3`K+3ZeyJsJ#r--a% zw?D9_b0vddZS+jEkM=u`HM|?^O-o zCyiQEyd-aXGisg(gy2U7HT0-Yq#0aZB>r=nk*w1W61DgaR;*tHqTPE96ZX#I347Ml zooPAblgtXlLoHBNy7*#bs-fO zS!cjZDM8HLe3eK$?tsfTzLKK&$^7?1%OFv*kv-{=Pp|LmVIve8(XC+>vCF=O@isBE zL3j?C>=g_eEt@g@aV7jZZ~~HEyx=+;;rOHR7H*jrO7f@?o)1Wd)uW5iF2(`T(1qO1 zSb}B>lZ_r7_J+?2!;Egt81tKBoIG!K;ONB$GQDmd8HhUoPKq<&(!-7P)RE($c3?tq9P_PKly_hE23pTHNIP)ZG4Pm|9%^-S5R78l!!iYVm#8V0j(^=!*xf5z;oVNGL79SC)(8lD}Uj~`qW!STB#CPs_H z=<8Ne|J9g^J(q?LE)+w17LbI`gLK;xU0!OGGFebG4Yi%GWBAlOj*%*(QxeSa@RCCE zbL#?N%~c@#;bkLMXdaoHdX%Ub6_W6f=R|C37?{a9G9uGAqfV_HZ5ZRhNFmn|`TPdw z%R9lo*xMlY^)e>1kD0~MkLdZ(KpJ^0jnsSRaL+m%lb95`qg$SCP>#Z#3(O(>!Bgt> z;~CAn6-6!xOrX67wnM|WV;I$4ie70K>53{3W@__A?7LioW`zdi;~!)EFi?r9+?@m) z*tsaSI2Pgz`;0RC6Uc#BYpOM*&euB|jlU}e=smWINXWnAxQ$)x&fG{e;~ggsLl5x(lNhw!k$ zl6suJ1Qzp!_+NLQBgMwjc*;W-q;_PIi$|)7V`vb%Ss!LAeDvs=a`)XnrN7NHaMsizI#PCwT23~EfUv790}1Re{}>If$5U) zZXglccFr>@=(-NKME_&xcvXN)@SiY9-H%}{CU3yeB&o%)XJ!40=q zvSbt2DGaeC2D6_Kg$Oa2lodvUZWl09=k-ARaTy}LLyMVJ-ohN7x0n8U|B|*ATaj=N zL3}BwKsEQ8k^`ywmfd)9eg!Dd(9e-Dn0P%X9I^ z@`*&`hys4_7scbo;b{DLHpeGQ8(kkgP7-IX!)C)OmhZYBgqz#&yVK+9IERzCi=Ib| ztU!_yKM8gCsaytC0DnTb*^1Q|N>|n3e|(LR{=~;APb8{TeU~wjX78ck z_B$MX5=ljSv$;DqPSJ&KOXw*}D>T4k7+2nhJo&k}ceM{%(=SX$_BtF18>Od$KF}9y z%~&I@$CCOn2sh^zGv-+rAUjN$XwRC7OSlv3yr&<%6P(^&S&KX@6=YxOJC-`+?AKh{1Dk*R|%z%G4ykNxmTNP``h^hh3YEa}m zCf=gmVT17Os~V=cm~-oQGVnw#Yg|gcGr7etFkrhb=4l^-oDffDv3w2j*eOmPuA9u8 zcC?Gi`#uKQa&dC*MF%K6N<&WthFC`5r|r#>q}3x0tVU{y--?Z1 zX+!#obh73fAw4rEgSUezRLB+K4&*^>FG*IXxBeN)@ zqC`?@`zlGL^?QDQ0A3E~Irn{CpU?Xpa0q0A7m}^QW8`_@OS)=h3BG8F$6fov=$z*_ zQB>~+F>U!oWzTVl>fn45FWO9&)%_!kR55iwXiVl694DVW|q% zYN%?ritJmtoNT#q32Wcwk~*UVIDhys&1SvJ5xu(fzm`29_~SY{DoDfL7!5o)c!mhF zy(pn2lGr?c2fpqr#}B?gi0JhJu(_ZK_6PFtv1kSc9$~Wvr3*-qjWZc>hT*_jAr66}^lSWeeef)lz2eF-P3RtEMig>^<#bJbBcv&OI?z0vg;Y z^VmoYL&oz__Ms6h`Je&!GX7&{UP*BJU4e1c&h@Y`JDw=m>r#soCoyc=YEKA;d$_@*Y8t+g4nY^oNajMYFjso{GK{?Phj?lQ zl9mrLsLZEAu5KEpS~`_9D&rCQEN`v*tL6lo^j$c2;=;f>S{kknonUHF38TLMpv4At z7)^s|na^zUG3FWTADafVoNaIwrwSeXcF;DKug!gbfSyB9`08mutt0f|t4BNbTHS|! z$4C^@F@v(bVRX6v2;=hVG);Q$M{>9yh=b=P$k#82fY-UCaQ8E?KSVi~--odIpJ$}- znmBsI8IZvaKG1q8!2EaMA#n|6J3wrtBj=DYFS4r#-r8KF7w&Awr!S*0eN6!+GiPFU zfiXTxS&oJ`rolPZPx@=-cGz4J1+R?iY5SfY&fC3xX4&;0$a!&Du8#jaeD!%6cm1uk(0Mr@{ya;k7c_T) zY<2})ULJ=0ph`_eMR*^t>(LLx+wj6)Tl!PMi2M7+Gw6aUe7<%%V9;iG%2!C&UDYF@ zTOvq<4cm>J5`YnIS|lR2jbrPei^luRQ1f{ubFc3p#AIA&GH-Xl<^?(!OV<%Sr`z;; zfDEX}Y{Vbs6Ku!q2|l~>jAf@*amrjIprR`e%A@vz*egTyOqm1rBBKzYVvkl=rg7WP zH4)*?0eYjz0c|rKXw>>i{FL~JIwc2D`=AhP^(Eh;$)Z`Ew+a8ZIL_P? zE6_Zjk6gRFmHGbkGQO&arT$x`A^XfMX!3HQzqlG;^ZXn>|LlPmGJGf$BOFs#Wtn8* zbX!&vTzelw2dB>9o_I9{Eq#2kZI2oqn{kmc&E{;UYcW@7Q94m99U<;spQ!RnDZIGO zAAbAx;6c+EJWkHj`J)A_(;aD-l}~D4eacz{!U# z#-gKL%!92y82dUMd*h@rPkbujYg&!Y|8i)@fiL)|iJ`9q{h=&qB`gpuW#;;vB`<_6 zF=?a&40Z}~FSRTo?e|r<$CQ?%&7xF%o2!e{@9d{k3waTI&Dy_8O#>^nji0&vH%bNseT`4AeEUHd`e>MhHUZ!t=;;%-E zGCutn*%k`Z`diTE+D{N?=NVoHo`dtd8rtF6iqE%afR%e0d>eDd9S?FTdFhO0Jrm5O z$E<(hT^T*r^$z{YrSZX>mC*3sif+!zrgj_L&~ljq9^O?B2CpyUz@=3%S;ysM-a1Fh zy^K&zp`7k^udQ|4G!;Eda*2oT2a+lw#{J|LNo*U(v18y0oN3rb?Hl;Gt2fla%H8~! z@?aHsNXTLAE-fQ#3HF(GIui7jIfB}i1dhw+`P}hWHI!F%AD>I#M$>{i(EWX#`7yYV zJb5XKDXnkmyo;t-WcYELWd}^ZwrCe5Ln^#FAFBThWh{ z?NY@8aS3#nzl=jqThN~WBjYf!4de=oadAT!i67Vqa&tdoQb;Hjtn7vps*r6pCSW@wha6z{N{`j9Qq4mF@Rl{1tR3eE@0jOqP|c`082S3Oq17{SY^!W$R>wXh%L6;;{zYqO>st;jjK4`w zO?^o%6iwh<_DkgVy9>sxqGX<$0+b~ifQ^YRI!hfvrv(A*`^uY2|I-1tZOB`Cf1Qpv>^J@Hj@z#z@a8hM9-gz=Y4;!;NC+x)F9oOKu z(0uTkm4(`_3$SPMzq-n~2{>%R#}gM`M9*EF1rz?V5H({zeD7<?XFmh8%~M zib;QEm@o}#-d}?zT&;5rLdWaK9@X2_IsFhmZVkn>Z<|T%=UX)7M-!CkaOj%=caB$0 z3C0vwQDcrSX&Ru^JmUu~+n-HphwGuwLz+3G^PFTs0oygwbcP7#9el!wG5Zy7I9D3MP7+6+@K$&!D~ zv&qR9HFQ5a@5reNtNUVS#o6vV54yMLz`Q57INwylL1_YM`{OD+z#S(Uhxti|>t7P~ zGz}lD8V2uIx?p)SmOeXs4Aow+d{&_dTv;=d%lAtG0}T41^o=onXLS#DDH$WrJkeM} z&>UW!UkZ)G;V>5WlL{0Ua&+2KAT?|yO2o{9Fqi!_w{ttmTT;jwX*b0yX9KC?VQDh4 zzneL{^)48&nd}{&S4g;x32J=Zj=h<`VZ_82jWpkL);*{qosKC~f1?ln{*UdIycNS8 zX}UM>faGr@Xx2DeM*G)AmwM&GJKI4ImiLxzi~?{5L>u`B>$-lo9C-F)2dzdKM@elLFN z(1F&|@2Ky-eGoR=lGrS|2i0c+!Lj2K^t|Y%5eY5K@=e#NR6UPn4%I<<7XioYV*2Vg zoA3@a%A|p`UvK%RB9?)63h0TyGIx_{$R@ z=wys~gE80=^$bs~tYS0Tr?KJ6Nh)5Ih@eJD`#x`~s5_mjt=@+NdsK+cavfs+-XDvl z8aRst*Ma4YCXTdT2^ian@vdLD#`Fhu5OwY_OxlV9Kg;ZBviOF|g=Vmk6AZDbOYrEr zCEW5Ero?imIB&LI1Hp}}@bdgPn6X|Qj!MqKUE6ptbkQB6$9CZD5_y_yDF~H5HPlHj zpZ-27!;w82jA_Huc};^S$@(jQ@vi;_)N6Q&hI|jv(5#Q}GVH13mH_H`EC*|bRk4=x z$f?~{Ok?79SU2+wOf2-JzA_`|Rkj)}BwLwhE$eaQPY{~+MRH_9<+*pi{-lmC^=sQc zXS2M^6j(ZH2iMk`!##;2@NVy;em#kF3+qksoLm64)28#xp1&h%AEYs!WxiVf?IiN| zo})rW2x%{}CiSv4q~A&kI=v9qynjd{;%bc(KgYn#kQrR*HAkRKbqC2jIY89q*ynax zyz$Z)QSL-N;5h3K%6P#?_g`Spwuei7eu|-dzZ6{mRl{lN^20x-b>JTo2G0fBU?9tb z^z56(get5AXEsx2wR|dh_j(0gCQyr|{!_@2<{^5`&Xe^^*AUy6>4Ku`CZ zU}cac7U;^MiJB?B^=mfEM#vzt8!n-Eb|&yQ9f!H)PMCM=I-GULCf&M9bluKMvSHrC zy7i%AkkJ7|p`n1PWb^ZmeG_6qN=W@wH^98)2_nW{N;iD*1A#jhm13l+k zz*KDsy=#>PPPd!uM$6j4KJGm=*dxnp%1LKJll$P-S79*tB!G2}IV3&F6AG+vG0ied zxW1@7Y+MGHn~dxRKwpZj6BGI9nBwol<6Oc|gDH-9l+$gsJcCBIp2s0W?WJPZB# zwiDGe3|V5B%(NN)VGMT$gU!A~vaWC`$KHkYA^iOS9$i}GO{oCR-ZPFSVU;*_{wOUP zA7FGj(^(!|8KEJP_(T2(8ulo__Kmk7zmm-_M4u(vy`O!6h5|3Z&Jjnhd8KHLft+sw%Hi9Uw7&EwtWJiy)0?oyx8aO^*_4H}EG(aVYt znaEFcs%|2L+?HpZl5dHY^G5Q4;|!(QyTRv&Ftc3gDSB^lrBlzP*WEuBLymMBqqs;6 z{90sZT$$;Dz1Kfb@4gAhmsVqU#z9cMJrGr_wXo#)a;)ewCLtO+R3K%NS~}Oz*Xzvi zo+`^vVzZDDMfF(kSVD%fioq$)h`KmT!()j@;rll)y!xuT?#7%z^t2nrhBSHlUqu=g z=|bJ6>PR5FMqpz&a`I03!Q-{<#8b7A&a#`pw_2U>Yhw_m|1AbX*3J3z*;(Y$6mr8? zn7cN*5!6--pxs(M95lGkar0hE|3xRT_g)UzB|Sm!-VY?jUZ0lzmF0Z=aDj{;OMr}R z=RkQBaITa)laMh?YuEQ;=AS|4gVHD9C_h8ayr#N&UmTg4+hd8!snaNQqyk@^Dn`+L zd9d}e7bZ9VqgzUaxXXVSA>Y*l`d{9zZ4lQ}RaO+B8++DDbxWuNxGToE(Y-vSZiiJO}y6_*!f1gL5e+_{@AI6P+ zQj0i>qCA|PCBkzfsqni$g)@9$2l@LV1@$$Z(Vy)(3Nz24Q%n&p->AcI+#2$tcY^sV zJ_6#R?`T0sGJG^`Am{dm)~!jt1%BaINV``P6MeZD9iX2tC+{@aoV85PBsFqs_lb+kz{Q*X#!(-`+640?q@^P=`FT z`3AfE*etWE656QE=5}8a;uS4j#5!km(DdVHXg}slmg||}zvIDFuTc;0M_#8sYjY^i zjEfJ}g_00+mS`q%5mnbb!dtp2WK3Ncyhjb8agGGsHNOkJa1qS?)Vch}*K>VEhS;ux zIIm1+takrwen>c+#5|q164Y%%>76WX9G(t}0_*853se~qQJKPA~6zZtdr z90?5$E@;a_igx};B5(daAirI0aC9;sEFC6bdaV*Zx1-Q^QjRB1Ls*aMUVJln7Bty2 zowi9hQ)j;w!vyxyuZADs!t?<~bH+5TK}Zu-8KY1t(}@-(G1QlcVCcg}=r7@rCFxUn zmZjPFG1(VC%{vA^q|IUcega+OB95yZ^+E4SG{*1vK#FQ8nGzpPJ+8NrCo)}}roz8u zpdka`i6sYmFw)sv0T7G7h`v zX_5D_x;UyR09VrwaVCZ4qo-*;1eaQnW!?**b^C3QFeroWqtYNakw`=MDzS$3omk6< zL;a!KMDpZ5o@1RY)Sh;Oc7sH^Zt8ikzM};D&uikp>YH%O_$Jz)J;LZWDbWvGci>=X z5>c)SB7~K2}>GbPL;WR<%JnwxhLBvzo*PmxG$!Y3A40Dd1k2KpL79 z*=~XqT^%2fF~5G36+>%arPp~VzNrR*rULY5Rx?<-Il!yh5@=|s2AvyxbkVhD^44@c zNXy1z4mTQ~Y|X+e_5(~vP9B}!Scx`Y2y76@^lNtc25DXg7RNa-d}=#cDl&=ljzyE_0qKw~_JfJ+e2IdeAJS)(&4{=J5Y4dL z$hjoTZTC(^gL+RYc{cznlLBy$&s)m$Erf+ynb1?&#D1o+-+Sga@>XOD=&PJ&z1tCl z6Y_?!5V*^!pJGVyPcY0*na=$;p-%+%_12p3`IBhZC7ANq1YQgck--hUv~R=-+@h0= zZ?dzji)@cVt;mCXA2qpD{iEjA7394IEJg0}gjI6BOS%;)}1;*k$825LlT^{KxC) zar-{B*&@kPeIdv-`F4YJ1d^5#G=GL27RrY&1HXWgy56 z;L@doEH@|{JQmJiIZhPku8lymPc6hdW;<3KJwslwnc%Oh2T^uAyW<;dBaTCPbmGiZ zeCAsV{%*3+bT0;89-WO?ZjhIF3Ss?1@~vC5CyGm zR6+F(Irp@N7DuRKy0#cZte1h){rtGTTNa&dj40VAfphg6Kwjh~>C!!BJhR0Ok1Xea za*P6=n5&9X_tt^h)@I_pN{N>nxq#{i^O5kuLTaa{OrE8`#p9Z~JkzSPSn3x|ZaJFs z(#Nb(c-{n__3)&}uTR23ds})^t)J=b-3hW`MaK6R@1yyvTtPeO3#o68B?lFzQ%B7b zTG4g{9<42)r3p9SwJ_T=3Szqtx4w{fY(Mkp<|)8Ew-}#&6y|8F{-jECh3R$vTS@hqJ-7MtMK`T!?gQdE^WG-3S}bRAdxwP zvnosje2ccj{hMwa5#d$b z4wjy#M{gU`jID;`n0F}N+FJPkxjj7J)ri*MM&rL`(evKFnUxN{Wa36UEUjzDZ0G%; z)1t&vax4WqI)(RoM4p=!)k4>+XF_UIDEN2{QVH!UDzR-R%3d~w&dw+FU5*8Q3KfC9 zg^pcnZNTyW)PS*C3fk{7-JN6pY z^M>K`uNszDy%`JgqtGhoFe&z{z=x?tp#F4}+QoOk9Pu5fdvBN#T6q&PFJ{u~Tf+$H z4+Ev$(=p#C4X3el@27ib!-PZ&x$^oF#BU9!P75pXLaYq0EL@-K`dSDUNr{ue+(-ec_}_mU*hj~UZ`w) z7d)gK;Qr$d=v%95Y!|STIuxZ~lSmoa`eGw}x5b@qQs@A>pPwe$Bi<&Xtj{!Nvf;H-9E^ zmDAC{{~hgYFGtt&G1T@F%bC}^#K>2L0>e+@Uj7X)p4Ihf}hj2HL2VpO9TIVgMv)xYYof3sRh6F$YXS|{PX`c|U&QI|H} znL`6@zLH08wV>*VB5(W&!69kze?q+W{bu9w2jpPrOj zpTVe|mmu)ja_IkKKt@25vEVL8g&o4Ydwu1|KcApSf&)saULn)zR)`4{pbpmM@Y`i0 z!aY$s+PjTuXb%I+XHPhrnuW=mu7_y4-wD+=hO<0yL7wK@d=Pr{k3`u3F6FnvyrMA} z%PD7FALGoCZV{quHqz*9rGSFn2KXX55RNQf2m5Zh;qcHk zTp+Q48hsYwJ_+;3DRL@QyzDmT-o@vPcj5<{`!tsAfxjbVLAxMnNCw)UIzY$$dyr+9 z2l02MxxHOUFtA@8kH6mq(u2BS(Ebg|;?LmA$I~Ho&vIO%Cjb#|_R>-BZ)75{9AD2g zgSGrS$cZQNWOmw57OJ>4E%!DN5uNE=vqC=(m)&d8v!ie@OHc`@(FPtO2hi^ zL9lx46$rANv36BC{57OP53cT|&%&$ds+TJ8X?7I(=i>vP-!Nowr48=U;KMyKGf`lS z(B;*`u-I@CE~@W@V}@TjDVvJ$ndt%Yk+TWEly}15mHW8hStC(>V25$T@^v2mYB1R0 z2b->XGBSf}AR~S$9&z&`RvUfbi*O#94V7sObUi2$rtQC6-DzQ26CbV7B{V zrbr=4^YEu5=UARct_jOzJ4f2=1)!^Q8{X#XP~cmKN1vL}>jqz$rL#Uk%!2^>Kt!0g zFQycBOnpNVRE20s-yp3z?12-KKfrviB`1w7u7};vCO!6va9B%;JbK`SVwLCd$m1he z+;j($8e^E_FM4ogVIvuHnMqO~57Xl7et26W7`tS`K;Yzg(#oD;r{6qBI@vt6Yu70K zuW>tlBp(NxByWSi>vepv+KL`}wiEum{R~{$*KoJO3@cWqL-I0rj>oM)xY=$Bv3Ju@ zu1y^BYJA|PLT255LvOlq*F|%SCL(e+&||+3n&)mHwoCkITv$$`8d%p)R6c zbOoo$zk%@;5^&_bB=_W)ANra#!$#IQz(`t=>7@%WYR@oLFc8FEwIg_jlZK6KK5KL8 z2wE`oYc#-53Op4x}XipL<3Ul=#@Z@^U+KZ*U4dq!~s zEcZBaI?f#p#(fs z_b3Ujk-rIQoo$Cqma84n<4XHZjgj5#4tZ?PamF-HjA|w*;h?B2@92(b&cAA16v_-i z-=$ATLSr>@_nNc3)bB*;O*?&%&OstNg=$n{>5s4{OSECl3ybSS6jvT%knTLLg!r1;< zzwXu(c5lV*DksgPsdC?$}!UYo6i7)Ghi^ZrrN zBX@@7DEUC+@=UV-`2rf?!lf^&2AL4YpT=+coETs`c|n~faPRjHIBNA8&Rv>|HA!l4 z!*(3ijalF8@fuWOcbo2W@<{YtMLe}=4L&gVL7Q3)S(dyTUg)x6ID_@n=CuVlN$!S# z4}cZ2jDvA7~2672G788>A&R6I3GZ*&gAWN``Zv@ycK{uA&a%ZA*E+=L~+ zPs6(yUl1+GB|^;#_%`bUomqdGn2lt!J+xdnnfeqKCm*MlJ1U4xYdmyqodh+r7LZ%~ z99KuDQF#qMkP!Vt%d}sEZB!?;zu1P_n-|komW9OY*g%O82Qs+HVL4;bBO$~c}ScUB1v>{C#gR8mB=@iVfvO$SYGCjBNY)4 zQT-5#xDyVASNeTmtQ0nLtMr4X0yi>NJ@&}f{p70=M z^9eb$<`2VZ*ITKPmj&5#e-dTNHegchKTQ5H53jFIfZXnQ+%RP&sP53?hDy{xZKW{T zcV{m&THL~H$Gf;$?xXQ7nRaq~b~rdDO5z!j^+frD2Rn45h-U2u zVqiK%HQm+Vca%Q_AJSkm>47LM)y}!H<1k*NO`IK;hfwxhIvft(2&!?h@F+P5#KS{r z;QOca!RP0o#Bvbc94y3waUb~4K#H{7;eptFPqMTxy>7(10nU7CMDsq@@2h5yTHfNk z3&D2qvvfMHXm*BOdM%{bRUQ=8-qXfR6O4FN$w@MI0UH~0W=`n}bUmAZ3NtN;9sAI( z{S?Ev`kkbw!e7y&u2;#guM%Jq`3shbu3@{oY~DZ00`Gim$DyM~>k6{>!p@5;AYytF z+}XL17k(fW?$qZKqnk~rWncik;Tq(;Rs%_Hx(L&^^poJgIy`r37X3H913xZV48@<> z&x^OoC^4*#-(DWT^-k~Tf~611x2J68R$LWqY=hy1Py|FNMWLco39QMf1%28Kx`_)Y z&y$Nr-@Q<2S_CSFfN{6@ZrIAnhA)XfX#AP^jOqTzOikKCc0XYZ&{9q03?)g&iAtg$ zIS)SlnF|}Tcd~tYN7#*iL@?+%egE_r%la%Pug-*m>$^adNyr7e7RGo@EIoyxPQtZt$K(Yv!BVk7qt*AB6ET8*u|3zdmsIDoDOlaajWZMW>JENv719HD6Tn7 zeq;q3rv_Z*Y_4f12W*wV)XMsugi6N-$kNr14;fJa>A_DLTsrX?~6N0H4`HD1stwjL9=6v!AI{3d~lHE6$^J0#j|r^ z>5E|c&sznvbY*dYVGgw_NTdrk{Gv1Lis^HgYvAmWgepUWIC>@#%v0CWgUu}0y6F{j zbMsDOutbRM&hkU=&eJ#%oJivs3Ep$Dt6;TlCH)en4srbBB!MRm{dfP?(xzro$Iiu< zzmLPTnH|i-smt;DsS5aS7LV+3(Z}7>!sw8WFj=@RjM=;}jMOKFb42+|@o0_+@0Kaj z6W%l6Sa3D1+mHV*W-dW3&3Gg4YQ9*!O)skn!oD|-8gOmkrx2Q9hcG^&oA_OaXZ^blL5x0m4;}k zVy~t@4DI~HaX+U@_r3*YR{l8gN`r*|yN!l#=R@TT zQ(WPE8GrI`AlCLPQ1@M5R7ZTNtgIs z1)Ip(d9X?b_7j%v2bTx1a$h_krf=Qk1Us#YSuPhO^L_dEe52FXY*r!<`5eW{*dP zH_l^lVFsSse1X)z?}aPnBg~>}^O;cnOh|vYAO3bcB^#w#H|dG@WZCi}T#>7Y>V}o< z-ZBgR{TU=PzfB;2b|Sv}qJe{5n)IwhD&`q@(^|cku+Q*5k&)g{)_@Qe;GZ4u znElt1;7rj2bkSlNhPRcl-=weZ=bXPZElL^Q+lE1FO(ePCIRkEP3nLF(GE9mnal4mxnzf%jolxZ7?qRiq5X+ zp!{v4;KA#_mxnW0HsnJ{7GDdlD{^T~Mg_cMGN?__N>pfTrmKEP;;@wmGSZPy!M7gC z^Rc>s`&D?$>9_I0Z?U*^Zai9d4>Hd;U4pmghe)Lr>+%tqN=2XMQ|;hQaA4U?Ja@wi z{8l7`lA|>)Z_&oGQZaOEs>MjF&-7hf7PveP#A&IyaO~3n-M4ufcT3oE=6IW~Gqr%0LWPIuoqTsuS^R7f6#8?-jtWq5; zWw{iRYj_Yh`WbxuYU!fOkMV*`3En;PiI%?QAI{L1S!{lv?L&E++`_aOhapj_iAwdJ02K`}vguPC4Zj_SNyie2 z)sP+A{dWRY6@BDX&x7sLSpRT%80i-_1t;fOkUKsG>KsaZwN}8gtI~`mS&u%MiFjG< zCVZ6i#mUbE7VUz>q7)N);+`yy-KcFUI6IR+@K=-jTG~Xr_ z?&h;gX&MKXI}fw&?n|U?x&|)%{ujDd{o|Zpr;8a&5@}{^CFj{^wu7Jff^^QUs_9=} zjM4f<^!pZhIDTFo9gUW;Y$JZohVQoY_S0)1>-8KT4=qCj-VKm|4^Xyc7B_LVIVXtq z>U>>e0r|S=aCJ*6nIq>4XPrM1&*G^7b6v13GKa2wG!<(!uHk*>hgd%RgkF`uM2qJ2 za(dW)!~AqE83^&GRqKvm;-&qd9^A>4&UsD;M+jXQXN1r<4cGmdfv@Mq(x^dI`0L(D zF8peO&vTMs+R;f6P?-T^!mKkk@+Yl0wF5SMSH)NQb$Hpf0W^nGP_yI(ak4ppnR?N% zD<=(f*zWjHa0>Lfd^W23J)L_?5Fk9%2`3^VITw~H&^Ub`x@g`bRFG;Wd-s>%`qTxy z$c1da&~G)CMC?PQg!R1M&fU1ILz{lEUdXzKn@RbaQpnK~gjf6hVc>fN2p{pojE67C z%{v!BPj8U=Ic>tK)@dM^#ju`~FbpeJ!~3~!NRk>WX;BVj^u^9EaK7{l8ceUGiM-5Vha4Ka-;o9*YWU@DhOJ! z4rXb-fwV$V?&+Eg6nD(Pe4@{5o#O)B8B1U7*kbVKif+D;lWCgeH<~G)IBMoIXgLI0m zQ|-cq>qyJSAXHv$j_*_AVM|#v4s{F>hjNC#{d@{d4*iCWdrqQeb~HAh0=kB`79UG@ z8U0mKBr7+$6YrWo%ph+C&a6-d4SdZ+)c>K!+!;9J@q<~_90p<{H{eWn22_n|!D`9H zHJg_BGpUnjsY{V4uUcRgEVnvGqFCO%U-BsPOIr<8w-@8Zyg1~Zo6qZs5uu#Mbttmd z86&OpiFE%{dg)jto*G!lJ#kHzk;x3jo#)iiVY4LbwU2fWE^;Px>a6xW5()q`cV{YCS6&nh<3RYhSS74Ha3l}Z@r^H0J0dL#W}sgJ{@ zqja<&3O8CQ!mF}amIvYpNC`d&K~BWU;zF3Xo%%P zU&4~&T(UVi4BI-Vqke4!2|c!pj+r;sM(oKWLyf)eo8+$YXJQziMK9bB#=*J@eEjq=PD>jC>0}Ase{I*`tTOA*9f*e`6XLv6b?)@+ zyc&3WMGs~a6;Q9TA85WI7h^g~pkQ+;4Umgv{M9cL*M=;#4(=qqy**TK|5c*$OA4Rw zy^FD(eUwjB8OWWxr1sz+;~yU#;p@3=^slcIhd<*R{qXuE7@5S8jw{pg(lv^9$09)7 zi{QDdv7EorGTd6tE$rO+0fgTX!TQ-DFzVT79OG0=JgxY-d3ljEp!SBblz}rAde{R5 z&OnWKey~^TA%>k02bsIdxKh9f%v5dbeu{~p^2a82p1&K{oZSgLgCGp1!IU%8F|`g~3}NoRKr2CfMxs>P!!fqE$at{o4??}eVf0i+~t264{S#+GY0ITNJ< za4Pi@{h9oVq}(&Z16eJcgPa)XF1-P6|K);^UJSW;o}ZK3GE8&#zQqC+wmT-XjP7h6 zV5%F+VW(LRL^7J#cHRQ)){N6JTn@{v&Ed`OWZ)V7rsa=(!LDi)9Y18k;AnfDtHsIM zeU4Lj`v02gZl6LZ@a&@(GxeY_M1m7GH5eYrttBhM-0;yVXHMaGJM3)xOPsy_W8`gT za+e=qyB4!8pyJ$3V))e%4zDo*C==sJ>)s<~dCIi#uozhpm;#vpLZ%0-qJYH*ZMqNlBmsjD2B8~jA* zWE-x@6T(PN2U!|*i!*8<#oM!35>4~`pe0TQ0^TLT!5u8G;#)e*f2GTe-DmglQM-(K zMFeEbwO2&~`@=}r8vPu98OUh`BViHzui^t7- z&cf48lH4pkNj&?ogzPzSfCvivfXhD#?wVV7V2=GsYGE@CoLZGYJ}#p!eM2}VcyGr1 zi5TctONG#IODd5YNWMS2EEiTD5-oORol}cWL3+_r35d*NtFa1fwV$h%Lui9%zLz z_!;oS;T_{tZ-FYW^UgA?TlAgEtvZA)VGpUBhy|!M$}v^@&cn`G^|)92I(?!21MLp= z(Ya3oQI0PInwz@F=&&!Gd-#kh2KixfLJ;P>y+rKF-a_-Dha_?c>EbP`Y0FAJ#=o4O z`|8aN*gYqZsMfyVJYAbW$|V1gTagcG)a+f@rWgPVW|tfH40?d&ZML_zVJhUuR+84v z&0Lv3JBVm}7}o!eqDeQJ+4)l@YNv70F(m@}CBtY~>kzZiAq1}Z>Z97PS`=(4!RS$G zm?#J!qMNnRbjKBp4i2TFA0k2RhZW{#E=2+RYZx}Kj+V$3lK*U39`_VG5<9S$Ir5&p zXBz3il_4n{x0K>0U`w5yxCdFTBEjbMN{A7+0oDl0A``X|(gKzcjP(K)m3=hha2ZuU zYy_`2Rg#Xs7AV9ifVw~BFw{HYzKHpgm6)a<2@E!vLU-8}M8LKOldWq4nPHP^l1`IR!=!?5|Df>FH_mB{lCEP)RTZ@(7Khib1 zAKA0=Qjitf46SQnLG(}(#KgiqAPBk7q_AdaDE6MJcMTyb$%P2CTi`fgB z+4sPGl)qv`Q%&P=oeLM!yf)E$UEVl))2JVAC@N-`T? zpz90R)DsLFd>r9X_!4d@r-|eFFP3h-p-bLyk6@gCDCdI60GrX7hRardVm8a40R2^w zaQ)V4tQ`>Kt{RmkyC0k)aWgw`cHMkT-5&&p`ZUOo`~95mltbiWO%>kmYhu*bmV@ye zmR-7%k8WPv3d(9}xV+vImxuia;uBIJ_CA(Y#T{h!Uo^+?8xcfDX%ks9eAD=~#}%9x zd5O$qe?C9Ux=L2Q36=e#+?MPg;Ni9y8Yfv7oJ=$`H@|~as`b*Q2RX3MbPCVNhcpO(lwyT613lFpt*{>}m;r0kd6Zv5P_X})xN zwaBBzXYBbg@kqIM->s~<7!3Fen&2dy- zFAeRJ(ddw3O%Geo!83U)&`ZpRZm@HL$e;-LA4BKiPt_mBaWW#iY?YO)h7=m^_qoX` zl(Gs%+M@haG>tN{BV>fg3=tLKe4i^q3rRzXqDZt$o8S2d+?R9iJ?Hs8pU>z0=~nTD z4C6B5`}Gvf9FpfrlLnIXQieBVFpfsCTC_AEl4N{iJD_5l;au7nxxGD@X8K=&JSVo7 z%|rlJ2U=o8pEx!wxPcp(`OM8-5qRQwG2P`G&SpRUq2d58uQ{8JJSOME7r-_H4ZL1`8%vw=K!4LM!rOij-4@0Z ziL0lf*y#oQTNgssT#N+Loq^4*Y|`Bt)Fm>}qpythft)L<+#D z_ZxENUj<#D6-9QJ9LE==g=l%DV)3^cT97;kuOGJO6~|nmGiUBZe?J#`uH)76G@Ai< zFy%bylrAMojsM8g1s<^e+*@+R^bE0*HHP1IDmVB6!K4LW|93=tiXo zN|}G;Y-R(&!KEOSeVTl*(S<$Fc3`%2E4k8hANZ#|L9WMd^54q&pd(Tb#(m4c-~T=* z-msVar_bj2F1AqnpO^5jGXY}`u+l=J%F`}|G3SNrGvRqsp@Da!YZ%uh_(wil)#e9@5yq$-3n(yGh zo2I}KzS>~q+=0`*_MuU>I%McxBiq$~;m{X#h`iZ``u62ek>EtmTD+%?M^CUmrmO7v zq6Bt!=5sF1l_VR*lW6Y62y)Q52ehy8;kK7rz}vnRT`UB7(teJlt$-m3Uay$_#}Qrc zXOdN}r-^#xHe@GToLCx4J?3h|Er&-WDrhSz7>kn{ z5&5+K=5OM`GOF|VFL6GzyjsckY`1;IeGL9`95mC{qe#mXF8_j3h%vegd%eBj?bu#i zyQ3Q)>|j?bpAn;8+=2eR`rxW}o|)k|K(dy9Af@K(=;-n5;G?;$_uhW}N1)t8qtqRwnd}=e>Z=6Ar zSzq>ab!+g+yVT&AEn)gE>@;2OTm_P4vsRp*^%s6_iy>7jt4z;z%F^Th((v_yJO*>* z$jtRZrhO5GWWGr?vFy4}_HMq(ne(s>KD$08$J*v{Ck$*kF2@dmd*3pYwyTD3HcRm7 z?h(SjEs`es4in#fe)OpL8q|`Ep}`w&!DI4~O#79OAx5!axqLg`wI#6PyaYtF%mO>3 z_t2^Ch~k@P!s6w*AXYU8uZ<9dX=mx4RfXh4^i{m9BLRYzSMfzm0W6CUfaX`_PlJp^*ctWiB;1KG9hB6_*A zUZWRXxWls+6OL=(@X8XX@jD2YzyIRQ_c;k7TgI4F>!+k???Wh#I!-4I%<)Y3Cz5@V z13rcWocsGi;HCUp>XSKzShXSft9F)D1h>OcV}?klXVMPcsUWNo3N}kDp@rR(sPGUS z!&P~GD=xwqySr0us%!|Mi$Jkz9L{~X3i6HtaDZlf} zwi&L$n9YjZkiCk~&h}yzvV8IlkL7vuS>I{5D;!aV=}0+2^<7l)KO9ldg|&WqUj*oj(Z`POEW=a4n8)ie>fpT`(CfPIlEWG}@~k zze{WZEB2o8^~}e*Wvg)Z^K4kLehxzIAVfO%Gke+nf_~FdPTIFyv`+gB9BlRi8LJqe zUrdQ@(Fk1@6<{@5wFZOuhG z!`6qou)9E+;#?xEy9&FMr{jRr5;R>Sk4jC>Sfh1<+;dQ+3-Zl5f%$BIoQ*2&d7%uy zCQaa1T?m^)h$Y;F64S$b*O4Du@@Ovlk49gJHg(zc7wv-)f^DX8ZT%Jy19v@8@{ESo z_!7Ku(HGV`KcmYtr*mhwa%pbRZg_RYm}aGlbG>v0FjqYV#(mYGhQEW1hIkXFMm_uz zs>Qn;9tEnaf73(PQlMVuDiO>}hi+>-NMvU5?(dlersEYS`6Pgx8xxpt>`FOvqMZTRA^ZxWf|)TT3A^)*jQQ(em zehS00OQ7J!a{7?{$f5RC& zs0?`%^RWB7Fz=wf3c73pSZAHjah@$s#l<&a$j0C3vh_N+4>;0YW6$Z7&-%D1`2rYS z*b4kvfk>rNz$H$W2HCO&+PUE!YIgFaqnQEas|nz7qR_%j_Af zk94oO2V%)U)55}G*(Ya|FQCN2NtL%?^#Qz|&{qFOw2tN-EyPbY^Y?Ru!Y?iKn{t)8ZA$bn;*eDPyX9QkDu%PgH0!vn6xJ06?Iv=ic-9txwQPE&aXhQDy+RTqQ|%Hfb< zAQ&3l$AgpM=v_Y_q{kjG@%f^l=H}5bUgSt!6&9fEqcp6EsfN_7Hdy*C3L!4qiV)V_@jLs+?rD0Ls=6gnUR<(b(PhbUV`?_c+T;&!=xp_kNOPqVM~|}L@n!K z;xpRG&ryD;d(S@WIwT=wiz{~j+k+El7ce6dX$@bm3t?MZ0QnTM8@BVM!DRDQ@UbaI z%@@hI%Ql%>_~vtZG!N2SM4V1iX=*9FFsQg1wZ`uLasQHx>x$z|0y!Zv`d1GK(C&>FDY((q|mw<-$0D1Yh z5l(s*!NrzHBGVwlo%d)zWQ2~cD;+<&(8$v`lqyk3P`O?zRQpea$5H>Y8PyFhN^0{F822@w)K2~&QpBYVTT zknL)rCF4UVy_)qG`tE?8Gya1d@89I}?Lg3Mzm4Lyz06OQYxpOihC07$2SfJrqhi=y z+V5p_xqA>U33QX zWPE)EUPal#82aVHN4iJHl2qweuzapA>dp+&$LeSiBf#gD5x%_JM;av6QA_nC+Q$oU=dTXI2Hr(z8a zKLpLGv6zRpSW=^g+Advm*}IU2k?n`z2pJ=ROO9|9y5dMbqY87(o?w}76x>U2z`HXB zX*B!$_1Kred|CU8IIoalc{Ry&)8!^;TV({Q6&d7@^&&WOW(fu?6ysKz#Nf~7VNPIS z63tgCq%O&C>Fsz6Ojk*RtBW)6>78ScBs>@N1e@sBjUr%OsZLwp$D-re7!MJlC((d{d z_pVWfTb4mYBY!H-Lg*ut{C6$>Q+i7WElaUN{t+1reFgegBFU!3(|85TlF0UTR`d`1 z*$XAFkyT5#!gdXPe7vIzImpLz@zz5-Q&sv|Q4r6LF2EOCWgzOu7%}m(B^!m-!%YDl z3{#F}ucZ)XdnllzwE%D1B{8IXblya`Mm(NMUnDBNGAm_H6=O(i|{# z>C(rKYb1aMy`eb$@zFotkg4`Px5t?SmV$+Aa$Qwr9e& ze>yDdb0GjX9L<|6ASW{&C4VKN-?PBO>5F)$*qH`z-N_7whvC?}4A@Y_HQ1es1RQSu*SBagegv0-~R1!Q1QI zkQ*D#?#_T*Kk7kT)vNbw6H6UbgQc z3%{q5o&zVB+N@L}q6u8M9Q=V!I8`E~HBP2gF40;b89<7eNS_{m2UvrVsnrodIKC``--G+>Uw z9T+mw#|L?0sQ=1|u2fDT+$$}d57o*rOZW`#Hn>Z=`3b7FOs9)3JcFEHRp>6CK-07@ z;xlF@37!`L)9dDw8zLVWdC^O3H*g7&>sSvnRZPG^b}27PFpJqZ5rwnXId*$%z&$S<61O&>$3W9+hsb%HH)b74>6&WGPJunlg+=Fklki;U|T^u_vUlf!h2dH{Vk1xV z58Hr4+%o36^9|yp7yy3u#;|)J3v7ktxHG;khUf)j^s%r2{1o{_M5SiI6?cRmXP)4H zw;Cbf*%-+B%79*~0x}8mu0|`$xh|<_kfxw0#96 zRk~o$(N`Q_O;PS3A0N6UyMnl)FmS81Y1}U_^33Ta#MDYa*>xk39JvRX^ONa1{s=VM zGyq%fi4ozZ?ZB_I3P;CUh|TU;6p22`vFX#oZ{?o&#xRq>my}amHmz`k{4td;s?m_&h@Yu zSY`*S<-bogB|gV$2uXN`*7ZI(@$fQsT@mIiD%^?dXH3wAeQ79ksGVLINWeA1X0T=R zcXIWS646M@paFZP@TAym=z|Ytc+ltsQ7@PcD~$^YrP<%51WIfR#i0MP$^6_^q_8U8eVO`jMu!Y!G85DytT53 z^~JYifJ+43(!H6THA2~3b1$R6whf&}*e+r}d1CtZ1b!*hhG%EJAi`-XYIZIIZG6e> zeUt<%C0|x zyF>JWIVl15L6MkiEd{NQ+3V72&GZR|BL6=RXpHRzg=b#a)}qE)8qIdit{mg+F6zg^ zse@$6S(biXl!rZYU!b{18st|v;k43A#NAjHUR7%mwWsGugJKgownu_=rkkPezD;Qui!fi6$koJ-y|_*Z_F6t|^Au=5Kj+Vg{6wW5GK z!|AT*lfb{j2)NS!u*5YG^&HOQY~|N@TX`$o+$qQ{dVh)vTyljaA}of{(TQx_+|iJo za*Q6z5{0j$9&qKqG4fyUGon$qp85FZF4E2&kiIV;rOwQT?}01fGCMmwN>f2j%T#Vk zYaTPc@I3km+ksfS1=c_Oj@eQ|5Lo1m_x$t8L2-L@7BhmsLn}zyH7(xUb4}!uOETqW znY9%g?~sJED}isw2w$ySgR!%_8p`u(>8n+xP&PS}j<=l0jlB+-DiH`LE%d4R6fe5` zY9x%!_hxg~QoO@XuDE0pG zWd+OQYw4co-Nf@d%M6nDLz}{dBr$0Rc7L&jxbq4S-M0$OMqG)6m<6i3-bdb`A_^(3 zWyFpNfw_zl*}Qo-T$_Ik&-d}@`J-KsH~$C5?;NHzbE7a^-kJ{Y@1wnQl_B%tNpf^{ z5#C9ZM~lPXYh|oC5PwaD>-%moq^F1C=S4i`;reCd{^|0eeF81ce5PxC=mwgtHXIbrducr(QeK*ok@u`^gBb#0+ZlWD7Y1sZ&hpc+7 zh)$>vnxTShH&G|JU*AYubL}uptpOPiaqdX4F6=j3#CFv@h5FQTC>bxq`av%0g-oTf zKTqSqySEt4RmLFDT7mk4slp}*)t%# zP!5+rnV|c=XXA~*ezJYyDScJxj?>qgBL<5?$NV^4)XDz8fji)oiXN3nI|#@B)zEiI zXX{4A)ku2M6?ihY2rRPBg5_^Dd~t#8eQGj;l4X?uPm&?-o|9?G`sGmffIvW)B02ZZ zoLp4C&8gz8MvdHs*q^)@@34ET{?*foxxrjUPI?tA^vH#yY%ht`nQI{3xf1_dQ-j79 z`+zr62~B#f;IsZGnPl^UdW-6b$09Zhz3KwYn79rNFLuL-i#*P*JB638h(OJAwuj|G z1N>X?43DYGfI`Mal3(XQeY$;6>ze@Yx|j&|#0lUwyLec>#~R}v43k;A3s7P3J2`GF z#dA_(S)2!@sdA4YZyzhNRdv)VR~Nnb*5i$J$#~au19Z}K2yr<{8;+i7 zIIn*O?G7Yza*pjKQ!jb4eBL`mRw|oJ`w)R`*V15Ft|L`H@))+Pd_tnE{=(AzsjxGD zH#t3P8NN?nj2{n*KtaNE;&VqH_pWk+%J$iuO}Cw4H|vk~d=U(=k`KmLr^DdVqagmb zocZFSOWl{hhV8eKscSlbjztq)xZwjHP|Cs=-5q4hiN)X(_JAC@oCI8lHqv&;5)I}k z!u9g``8$69z&7zLy( zlvA?>L8iYCxA?HVS=U9m*|$fC9y|MCfeNFL?o9c-X5vGhHB-D^lI^^F%=*43fV$u3 zd`zTx>u?vWus)Aui4=~i$B%KOCJMh4;M_@vze^$g%#yF#REzwL^h?yI+8JN(Eq%^-;7^bHX4lj}%XR330{Z zTzlnkTvV@!?|%uv>x>lG6vCdvUsQ40y?;?h%W<^VDaF!FGAQ)cj}s;u3bTE$kuQn< zFgf5EZEgFADh1EVGaAN*2wIn z{G1_L9C-m|ov2{n0|MOgM>Fx=tIgon)yGV-UW9Kk5%fHpjoIIQh31s8Gl$As_*4DK z)a&;=yxvH0)!h&9XN?5vd>7zeG`>fI?WdEd(fMRfmjrj6oj7mfaW~T37D=_)dCcgI zA_?4ZnmQD4NrYBoL%BvV?lEg38`qgYXY({%s_+p6zg+?|iH)%2iz5ugjhh}*Oo9`V zx1r?OT2PpfLH;NWW?JubI1u0ro@Lq0W@Q<)X}tq2E2D7sA3t>HFTvQ@|8TN62OPg# zgoOp?n6a4?WV_0|hN`4A4E!#^J@%sl0s^j)43;yz*l8!d&pz80_q1}jm$M09@nveL zSBJ$1M7YMw4-ns$5h7;!l>YhHiiguLF>WUcsCd2+RDatAzn-oF@5$p3-Zun=8LdR6 zIu>l6|7H76zGC9?+0;d23-`TzONITlzGFBCDV5cRNfT49Uap zE#IhIRt}^n50d+h>^oh*mnpO|pv^lysO8ov;Cey>JXZ;VeMC8V=vBe-EN6LKnpO}i z`kSm*I*!MR6NqiU7Wj^)uvri`dsUoI$~^p`^UHZE|D}sq@~h&K+3_GK){d2|f7ok! zqUiQeNJGr?IKBxEFroxPmsk?m*@t+9lX4Q z%`n-s2yeOu(tu=^H(q3or}zWN_Yfmyc%KR84k(hJZc~}=2w%9ASc;SL*P=@KGB9k> zL=THyxNepLez@Px@Pt~Kjg!t)xcC&(_ZE=USOV`)f5W}cS}>c{=Hx%N!C`X|oh$h?zlDF0~5Z5b*9GmmL- z$|4wNJ#E6W@mjnpxE~MNR6^~xUqo1V7J|AMb^dXRs&?AK>z|&eIIWsI%}*!Z>o#HA zs=F}L=^X8!6NDR`U7^v~gA+FE0ZF}h4p04F2Qs2!+^GCq)>CnfNKRXgp&IkJR%O}X z>34=S>1DB**yGqE2B5X`GJe{62?ef5n{Le(AxF>NBmttY=#BWj@H)pGoA;{0K{Gd^ z*{lTDZO*|4^%1(&R2NszdWuda{JbQ?CG`7}UZzDb2DkHhU=&{yh?;nU^YL8tKQ=&9 z`#XrDhZ+_Oufw;26UF51D5Z^`gTUiWu>nAUWriDR!*b7UAgS{AsKenw7^B< zE-I}z7r*|EfLoU`L8Krah0_)2);<3*Y3nUm|LZN1y>Kx`uAPRhu^miWI>is?1$aX< z_CjYk2eWcTxC?jug_L4`6swlw4hZ_e>cv|4!c>d*QO^LB4fr^|&wGi8qcWDCwnFM3UV_nY5k_s|D`jOhDRIoW* zA5OT62R`|ffH!4bX<}GBta`Bl6JiuWvZ#?`rZEZAI$Fs$YKS!_*{&8f3z%wgm*w#! zW5zO30NIlq``I@!+5RN?A)|>f*@$V@SLtQre7KpL0h_k?!<(m3L@z=S<_X{7to4t> zU+ufl*iQu;JgR~3K@{v;7LECpuAB&sc3RG6xRsZS;??)nFz_m)!Fc0l^7-Np@+*#I zU99ipO#X^w=g|hp7)`>6tv9hdB#6`dD-Nd4swD&33m|{yWo+@Cjw*5Dylrn~Xwu1P zyprTguwAefdIY7(WM(7o+06D4|9lS_XTOs8@^frA`A?cN)dQ8)5*h34aqJ$F=KAnS zkw>pLvwrt6`ux-_R1Uok;p|y|GNXzJ^bU}=1LruWo>{Zq14{I?@d31$yAFozS+XR8MN&a=89Y@#DQzKkoTpCX`LNLQ%=Of;4UpF=>Kf0DbEM{`o>Aw1z~PaZ77-U zwgCHA*%1FUZQi~cLd>(F7+`di!MQh$L@${Or%c!k%)aaJS@8{V@5!YoEz3K*=P1~} z7JyqDW)iJA2Dn5v5Q46rqKhZQnKh0(m>(O4h^O#b+$kUpb7Gg`qcaOpA;$|A)&-%p zt{1qacW@ehccE6%Wk~MHCVh8qllAXIAaIDijXicGhVAo^6Q{&2wt`N(dux2wZ!2 zfD8>U<=VG@;ym~)3#Fy|(O~mq>~cLz@2#K3;iME3srqa9OAWD_I&9;b*q1e#^Eze3Hq>4H$h%YFU<9yf@pOP+5rc_KQ>d?~~vbJcFjE&E)Q! zwHi`%ir~?UOHd%%wfxoiFZyfm7<0bpIL0bOGC7`S>Ypur3ZpL-K+Q;j`_pI|PoXUn zAAY<>rKTYWc)w(Luj+A#{}>%wla7vFRd}vv5@dz1(!XmLks%Mth&G4NGe#~LB9=qd zFO`v}Dc4xOnLl_p|1yqJ zA7+40TRr)7ZVudZF+y%}3jCh)f_eSu9HK@ndhD3wJaE0o>WV`ku_^*YACEw$OE1XJ zze+u0w_vWPK5z722Ytsk074%eF!H-IUH?-8H%}t*$_-Awqb^OI2b$haZ=Ul&|b_9L>F|@ z&neZ|6R5`1wcG{gG~IEnaSjewXo9=-T1W|I`y})Bz?M@2+yIX3Ox zmbcrPf#O$0d;9_#kDFr{?>aVh`;qyImpJbfw9!<20|Z_R$0_Lsn9^wl{Vl$5{i+Qn zpZ6sr9#-f%V-20TW(LtcCMF~n3n8V&EYknHIaAh5*%juHQi$-N|+kF(G zG}>^ex(Jp8=0N?+NM@?eS0?YQB~N)p4z7JD2#?CsK{91Igh*#HlPAX^tt14pFW#or zMPgi|b+Nc=M+2&5KB2_e4A(!cqh;%CL2rQ=qxW%YL;J8FXU@MFJjrj37;bfoF1+J{ z)th|jvASybeK?KjFfGAU5q9_Y?HM%bG=mTOy!W4M#VENf^5sA?sb2QL6vkw*_0kRM z)~t!Q6Ipih)61~Fe=ArHB+?rDtK?-wD{22M$1U;nfPiWz_>-u@dEnDW3;$Na+COvQ zg}WmfZhcEWZgB=h4Pjoix)0hn+#u*Uj;YcEIDRCWR+j!Di^@b{dh8wed8C-*c8}5o zmm(Z_-%Rt>j9^z47v>y~BsZkQAfv8n7ugbdb%Nj zRiuw=J)f=L~;N4$5vh^gHNS?+0@RvQK zGSgvEXfeoH7Qv=|KDruxV9lr3FwT1Ox97}&bu(^|VXKFn)4ctrZl4+)XFNxA@J@un=|ZH?a~<`5 zZU~H{F7!2AKnYgk>Q(Eai!yrP#+6H`ax#w`pF!w}?!UM`Lqjib9$3LV-Q2Y!`P zQPpi1>b|yxlF(rKcUuSjW_S^{?@7V@^`rDi$7VQCnT2P`Aec*Rp;KRZuzL~@*z#G0 z&RF@Kp8vCuIqGi=E)mCZt6&DY{bnFQ)fA7fxkhp%*U^X~bt<4x0}FjGGw-fkr}~P~ zv}k}2rDOClq-K&%f87llbBrN_sie2$e;vkGK-tYV0GPY`2@6Od=*J zo&&3_mU@HRJT?n^-So=aAk=-|L#2oAtl-_)g)d8f(ThO@%`ceX1L05{o%e%&pSA-% z_2eNk+m7rTOM~Fx&oFPte6TPWA~b>n^{+pW?kqb_ndzqnxt5c-zlml4E#PAwN8Nx; zmfo<1WpyQ;%>lzfP2NSBA25GIDQ*n@M{FKHBi|k+z}Gd!biTbP&pN4y%K3QGaV-H} z%9CZBkZY{Aq&F8F{~n_{LVut~_Y@`Wy=3n~SGuyb16N;I&+<7~U2~=~7-*-`zX5f~ z`7;N;v^*v)BQCIiV=PTee}X6TMIh>~Ttk&c6+~?vH9fInIkPqI5joPSh*{cNXn&%O z!JNIwm*!1lSN#OxL*X#DCX2YUdARNK9N2faD)(>8D0L%zT)(kNc)aH&mfx<2X!k_A zb*BtgtQ7_iflwSc$p>$r_@RZP5z&2r2`<06#rBWZ($Vy35Hs~Erl2#r+4fSQ{jAQ{ z+(AnDL}APNmkmSg?l1c&g|s|Fw2XaB)Xu$OHmFI1A-@W$(FoYHw-PqBo`9&`>ZGBq zj~>ff!c}>G0#~JNg*LBCBzHy#OKw&-)ON=LyPY4$npG6Q}d z8ikj>htX#C3aU2i8{QX_f_Lhh*jX?LuU6JTxX4oc<5EF?_kH7Bkh}-as@!nn>=e@M zW(lhzW#G&oWw`v=jP>_PqQ2-;u+1A}HdY^@6G3J0$VVMR|6C+j#FnA%3U%%zZw6Pm z_NL-HH5nO#A(ROPn^1RoQD z%U7yksog)~v1tvBc|8m2!~WrwJYjD9u~?$kF2>y%w*~p75-? zV*mCZ{z3XBKLk}D7lVV#EgXG$mu0ccqwnrM;G8OpWIX}fNb|naWY_oa)N0NYZi#3w zar8gK?j7s!Q*b>x#*LESd*8!Zi%@iYFrDNnWMk0}6Z}OjNR-K6x?80PjeeD2&F;^5 zcgi<1{f{D~Tu}hT-6+t+`q4iwfl;B4D{9WE(S7sgve(d@{O0d~)dh(lu;3I`8We?+ zKe1TxW;sY!JK{N(1#BfmxX$eCU@WzQdv?hm5;zPfc+m#;yD4x5_WUI~K1$aw#@^s87@)LPFm-c|wXydXMW#{*;e zC?<7bDRE4$roo#vNmtA!a`p9n3{xDSO+8r{?bk`4CD@?bsZh8zaT5IYOM##K?4)yW?7=EjobV>b z$!#DM9D-@f6-alJDxuaoU>|=Dz74cftFTb`V|58yHogY&AU>F5!ajTdexb6wI()w_ zo;u15aY8sR8F4`+aMh^8K$qn-({U0K`h(yiodw}j+sJ@YJ@pKKi8saH5sB)VJhO^I zD$udNUTgd{{rqDZS2}D2<}VHdlK~(6#QtuZ4$g*Tt^ZJeiZDla$01O&SHk9DDYA&| z0J!ru7SFGartW5^aO&1AupwYK+U`mr7d~CV0NF$wusVl^tCH#XwWY+Uv5sUs9l-k) z^JtJ37spTpa;HYoy66Jt*HwaMjlJMxn~xt$?$KoTUe1Q95V|gL6~dcgtQTH{kZ}kf zeR>S7pQO1Tr`a>o9o2Z~lPPp-AHyT5;<);+8qQJY!#7#i=p(ga)UR2Lr{h>X_<$&5 zxq**pzmVj8&Gm;BK?`w7Ujmr?o<$l4q_Cs$F_s&MakFym!2gRoZ0dLmGJ!jYze+hg znEIW5VMl(Uwd(l#FCTJ>TR7^=^U&r}G5J@UL$~doz>*E`s6c5Y4RUaWK%pekVtE6G zwS-_tC(DJKwx4lbTt$MrKys>!vBAW=-3HxDM=5o6836IJQMPtyaGJI{%MKk6C=5g-e!8}4D-B7kY z3a>QxU|iNu5*!iA%-!jL#&bU5>ev?~@y#NdebpE@+zmi+yMuJ=#ZTn)*J7Hho`(Bn z_c0;e;gI`r4kuqdmLo?C>6FH8$iK=5^J=mV?hiPUx;2D7!+M;rt{OSq; zhd>5xZ%Q}RX&Xb$86W(1$bydce;}I+OiY)h%>(7njU4~79O|l)ij7JqNF=?-;phe7 zd44%qZ<7bTe{@jUayfExR-sqlW8AlzkGr<}4J~SNL%ro^u#C<4l3$CkZF()_KhD7` zADZ#TN(qonc+M2rY^NK{r9hL-%-m}N#(1n6=Y%~%%XN$K@I99E`zVU6F&#qvFRy9T z@s|jK7 zJAdF0i=b*-XCi6cgPhk>@Tia{RGT(pil{m~v@^ng8(rwGMmhRrnit(M zr=!b!dG>F8nFNi#b=X+!cJh+(FsCXNpxq1Bip%T z1l^aWLD$=sh64%rD8I*P6n%OIuU)-DG~aDuyqIn}WS|Ekc6M}T%O2eCf12Kt-2lg? zoWc^82dW~xjqz(XLo>rvIx_DzPK$ZTNvgPvITlec&Aoxy>NOpW;*ud}Mi|cB4cIv6 z9S&y|fppzRa9sKr10LI>&+mB7X+c5MGv{L#J^933ywph^^9Qi`a|^QSMLbUH@1lKn zefU|egMP?nwe9%-;7Xl8^LyYoXZ`z{h7GGkcpoz-u}1eI_0EYWAt8SBr{QMImkpqe zf$Vq0#|j=REQ7OU66krtmYLWSNB(*D5a-hm;YG?&!@l$s$T*RV=ZGe5x+20;{-jLQ zo3&tHj3#eRJC~d;SB549ariBhj*CVu;Prosrev)Gyk`3x9Tl30-=8?p8MUVi0}_eP z&m1`6D?pFusD`7r%b4fKxZgP*7gTo#t+eY~ZCTZ`pzwAF+ot@IQO)Fy=KEME{uMyD&b;u?fSqinh4M<|d;tvK|leBH+#xS+vBhwA^tk z?(7T$+ekg!J3k3TTTX+=hSzjh^sDLLs4vv-su-Nmw4zgakLc#P9FBOz9dvNcWPaMt z1@$cwq&bIWWz27++B&0jonQjqV>+lu-X9Q>jU!jz$f4Qo5G+1_56jpcb*QTujIg>A zU2_P}YHUJJ^SLbNq>wp$Mh)fOWKo0p65R7M&%?Vv_3+vJCC1k&(;;asoViR4ctw%m ztX@P6T|IE#QeBqI!SYC1&tsR9G#MEdBx~&KIKr(_Wa(-Xh~A(M9OFh)vA5RDq1#mq zugMDE2-sjPR}9Vu8RO5*_RwIvfth6ei}g~Pu=0)z7!Q4=7H$v7a`xT#GO+~}9`t~x zkPP>Ds6Q-OyA}p&b z3R#8ZKJV);p=b~#Nl6(k8l*z~&iD7<{rCMi<9)8{^?E+zg2=<(Uu5?5G4fSL74|u* zqt?RBm?|M4qR+NaYa@5qwY-{`ZQvL>4*m3JPAF)Yi14&DoEY`X|A>n50esi#3V#A) z;Mcq{8ZA2+)Kbq85vBViq|*jco{K^AdRh8m{YJ2|i-zJi6R^1P)9nz~E{YA-XfizibCei!+@!8IQ&6;wNd7}p#E zNmK4%XVW|U?|3ANoPCX!TO!E1r{TE3@dY{s=&-?hk>(RN4xn0@5iWXlo(<<_QWB+C zY3KJO7;};0U30%k_ZnWqD5FEPW^ffrUE;tl-J}YiIaff$>URA7L>To})IeR%I0V(T zQ0A`zit97Lu5S?hL-UBk@i*9IWr%D0qH^WB0$eY<6Yj3#9GQFp z%|5|-DWd*@HpAux4;8`fv=xnu`oeT*t1@T5F2W7q%*;17heZbi zf$>-irp>z8%!&=*aFTixr(zB695yQhv! z8J&eiLyKwABR-mbe2oDslz55r&ob@twq$el2w&)fJ%VvMopt9n6X9q+^Iy-u!MD)aB` zb%M{j+2m@c2vl!uhoi0baJ%(2B#7vuNlOFPT%JhzB5qXa@oliY9E0m3ve^71Pe_Ew zBgXr(KD9`yAaB&d!6yD5ymS#~RAwi|KF-%sO3dYk+(dYR_{FU5*BaH=g9WJIL z5|*4-HjF6bhv12{ql75<(;C}@_?u&yP5+?=I??aR-cVUsa$pIb)7K{h(#2R3a|&y< z$1}6+gUPhhjd=0D5Uf$GqNlbWgR^sO@z?i>WbqmwVqD})KbwXT^Em~W|8_1;OR0ca z7X)zS!DhJ9772$dJ|Ms2Fy35~N#CZZ@FFZPQkhZ$e>j$E>+=p zOIV*8BRJD8&AW9yACt#h3YImuQ1Wz`X4u}LDmot6#?89jo)qK1h8}Y2@GN*Laf!Ux z`=dmzmSeuWtiF4 zO*4kJl9GFxFzDFA-|TXd^oC?$``$gceC-MLndewq(<*|mg++NeM`bZ`(`EF%(}cRuZqoag z4uOs5BwVP*f<$V6m5_Kei2hlMAGtn@j@NC*U4EFv@{Fk@O(bGhCWA(E89JORq}%U{ z;maFe>FV{3$m3iQs2Gm3`+k?u73 zh%yrwnyd7PL8$9OW=Y96loG^IpGC7lpYz)e=V=k+zpqG)@;SI-)DHU&-=W>wT<6rx zi5y_&054t&5_gxwu%VLRmH2b=HR?ARcyow`b;}7Rww_>ZdKYu&^yjc(j(~LMtiv#8 zQNgW+Q{b7=LP#5Qq9?;uAkemy2Be0MqoJ=B^UHq@Y=9u%5=q=`r7 zb5<~AH5w;y&d1oRq{Z5Y%swB24Y-)Cx0*y(yivnFlh%nFf)3uUX*mSc9%QWlo&8{Gp-VwWt?bL?-x^ zkm)w@^g&`E{JU*}mHaN$_gaX4443_wbe+r(V$gyBuyT4v{Kl8ykU|w5tL0oX z7W2W-f>ML=iL5?O{^dd+fG2Stt(Txybk2)5}xcFVVbY5 zgkLO9Xu-ZKt?^{sV4K@?SW%S{%S0yEkBW<{XCASkqbDY5OyD`n^Z-Hg~cVWm}nQW?&gPE5nBREFTd81*N z)Hg_59z0_|2DhM6-Xu_d<_|k7h56~3x`LIVXQ_`vDgK?PiZX4L;Qn};VCI-DUU%LA z2TBalaP?~ZrXa%mTXlzc>K%lwE60dX!fX=TkOjNDe!!{ItvGO1j@A8Uz%Hq8r}cAu z;C^rb=|1+8%Me6DTwx&?pGm=7M{9hs+!Ti#uR+K8<9J;45XOg|!;}REJaSo{(p(7; z{ENk**kj-?@eaRap2YQLX820Yg?LJ=!)*%HVBRbQFT)J**-l?L@AQDS&zXYrH|zq% z5mmu&Rdd)LWrSzH8lhRvA2>HAflteig7)udvU|!sGHJCR4H-+N>WS5GY2g9TfBuiI zd=rEU7nN|;av#|CCJ7$M$$|s-4V*X3gDdU1@Z{D4Vz74%VwJeOtBpRSC;6k*nGiVg zUKLv6df;)}KhoLum_~byP_rq1w2_LS{DA_Pz9t)j&mo4WO=qSJ`!c^o)}Zx{PNFq- z8_rv~0=vHe{J$9E{4gcvl<*3iH~$!^zkZc`uQ&#N>Q~{3ivdhs9U^G6ZN`}PqQMRbwOy(#{Y80wK-P?zR zD{-y|6$J5kGkQXD6|g<3IQXHG=~lDCW&d(WVVxCh+%!hpWhda<;&K9u>~Un>UDSGh zlWdB4#a8?frEgrv!N43XDD2Rrmu{RxkCU@-p+E^VuS*k2RtBRVt-)-q8PN7?2Y1Hd zar}kt5UP8TDytp=i>e9a!jv#_Tv0|~8SRZe1$(i4PBwjI@R9lUdj{EW6-Pq0=%eA(|G=$*UHN5zc_$+zK=Eoy`$&`d=Zj8gPUQSpnD``Wixgw-c-P`huOD$MJdgWi$OV^;AZ78oG+V zCC5B=qGs_V+!rxg%5{4V20;o zxU(-19+iEfD_2eyNZO~P>W`UVyuFc);pSa)D%1q*q|N+W$HQ@!rz!5gxD`Hgos8w; z2eC$y5HYHaJF+!Cikz&#WJ`?&drqvG^jo=c!|#110l@1>mwH9>(cuL9J;vb4($X z9a>w7ci(Nq?hq^Vn8iKU`aEG$j5(xlPlkIV@r-R2=Qsbzk5nF8buULZ@gZnFgs?cvm?A{_o&jUPmK@O{pGdh}-{yS{rKe!IR0 zUN1}`xre-ndU+z|?+}7K;WOBuG!M(G3vrL7I=#jVg{qnE#KEYGP78g*#2B_P#?cq};ug=eIYX|6M%drB;Q zcGeX}KCZ+4IS=X2YpK+>MGCd!hcQW^p8qEF6Wc8u4lOA;XjnW8g=A7;NGplV$&rDh z^ZLl#10RXb)DMt`FBJH@9Up{ z=A)<3+wL@G|Na49ud6Zh)l2^VvCoih@{vEXqX5oJ&V>hKpQ_%}jiWu6Bm}8DvT1R> z2az`QAX$ymdHl9>WRaZ)1WZqab<-i{9Zy2 zE=+*c?dt5Lrcfff^*;Xam%wr*K9K--FxtYgOJ>&NySXfige$>wJ-~5dyTIXEBhKZR zjD2P@?1O(pWWpHdHKQY_zC)kPyeAG8gMOftP(c;qSHb3rUnFkDHSm1BgWc@Wf%9U+ z*}U0h%=W8d@KulVFW<|gQs&NZNBbFT5_W-}6&Zw{p->ckkq)-E{6Q*iH-%f`?46BD zY=G?&(qT9i!Kj^%y(y!sLoQR#X_>TO&qM)?)-f8A5}5a+AK#hYps!@AsgYSW{2o6Z zEeAP=*}q~?eZch{BbTwYD?8w}_g{kDeIR0%JbvvAl$*;Sa zUuAo7DR=&E+iJ|*rI|Q1f0QodW?_fE#ew2DH|+P0#Lmj!z)Gp}c9f;bGBjWarfjFribEBqXNOXS3I$&{!E!^~pd} z?O0Ut+zo3Dqv^+W=V^}Gd|Ld}6hcpEk)$OA|A{U}jfT}UlAlUC56iRVgMZnUc!rU7 zQDo=Wt;QEOq9EkkPwKi}jD)@t736MmqMI-hb+b<5)N#{zw*q|0y8a6=f5-tIm-&Ea z+d7(<@d*3`TcFiii|Kh3OcF(9=$&61nWChHtjm^a;#Kh)j;%<=LX$W!3**!EftSFc zGLIhF&`jj7&ZN?T9oUfc8mzW>VqJYcbGIxQ-^|QMLAxDw{5l1z(h{*=L!MPDVsX(a zA@Xy(2>nfG2tq%O!$ZvjWYx@2&gUx%8lfGebcH`wm|5^M7IK`~|6EX5u%1ep#Y1hB zBQ{L_LD@< zhK*k!d71)>9Cjw{JsouCJuzOsm2rs^L!lH%3l>6P#ANfVMkJ$=4U5 zsCg-Xq&eKhltKY3#&FCkT^Y_VoR0Q?zhltBzogQ&9&~EF@U@vZFSn+p%DemzeyOj+ zozpmW!F4gRuabqiPAME~?mN>R(P6gxumYXhT}}BnxP0XEg{1dWDlxM=OCJ803cl4T z|G&%qpyLni;huPP?OhsEs)`-+XX37_xAELVd5l>y2dta@sUVKLpz0;E;m8VDt345ueN$k#b}QbwsRK%_gYxG^no@uc1e<(b`luUP(iDrqDkpHZJeOq#>y<4jWu?uIC^$Dh@`xP z?&YCS^86ZEY^I5#y>aw}WeB_#FP}-*l_x1Fk#J(LKf4@pGLI(Fr zmr2i#PeZ8JBW_>r zL!)ya;!?v9{Gpr+4~v5!#5o?0cvqrGSTNR!77`gXV~)pVi3=7fqEKTD?pWFa?(=_8 zCtV@tl~q3TJ1`2`T8>~`SR$xh&&KseiSRYL9am{QXE(?;f{X7$P~dj7-V1|qV468< zD;0px^KZnZcPAKWBr~cIL%%Lx0iPcPl7CWqRR8Zy++=tZG}gT(V}{f4&bK5Oy>@~a zy$U8HtGFJ3fe!dNB@s{6rL?SX47R;AL(yM^qu=JUrj321sWTlGhh)<4@+zP{96~nf zYT{0*EN-S|1RGAjrZLN+;8W`cjFkAoUsBypM>q0dV#*Nxp|gzRa!iG*>H=!8i1QQG zaY%WGn`o=$2tDVd1noa4Y;tX64qqw9xW|XFNvjFXrS1{?7uT>aR0uxEU!eUveo$Xm z5jd2g2Km?Gz!GNS?}dZ>M>#Xmpl1&G%dE!5v)ZV6$aCs$m_*dCE;SpuAPnLf?QFqb zMa+A%oWwrdiyLmr!5oLl7#864Jyx)NOE?`^R*j2m zR?}Xk6(l*#4g)2>v*&lkvDg2(vM9;z2i{)6r&=Ps4QIsJ%1}iJ=oKNG`(NQ#CIr75 ziQ|6PGjMQ030{zQ#A}b|5u);)*cNn=yS+X*68;by|4BjGp$c$mD5jHx;&7GnD;mdn zP!!n%^z)3H&{e-5W>lM#rE~wFfyn|~uucY-%mlo$dpTJZxP?q!^BiaWv4RezK=WGF z3i7ppfX0>;_;gklY+NW$=cL_%yDwbv_|#kAyUz{H)n@Uw=O00H5(4~)N?Imu4C!OD z*+bVOaK*oc0yw44yB(FtJltU}2pmWyf=~kpps3O&JHe3KMxQH!0H7zloCX zM;P9cgfg0bu$OS$Fe#Sv=NiGM58+fa={S4bC6_J~zY1lU-RuG5FLYzXdupCkNKN#@ zF}ms-tsVW!C`msdgVR$%x7v%8e)&%C?m3I2wMk^E%U3q2uz+2;H<%Rt6a&6WII+B- zN1f(cq1PK#jGns{EIVINjdcb1jeFPJ0#97AO^&&JVubAYwBD>SWrjeyzm7ycxCZkb zEFf?|LQtbA$vazi4RfW!QA2ADJb&3ss)BQv3-{zPU~3-CR@7ii_TNWt8o`OGTuAt> zXo!qcfUR=My!|&b==MC#{ z(%PMrv8%=mNrqn4%3osU(+i5J1rY5Nh?g%|ldd=yQZu}d?k?7*y(VS!!_5Iunf#2} zo+~6-?HYpZ&(_1W#ANtln{J-a05lARgg+wN&3-PjQbr9POt+vD}A7tJsXdviooJ2 zukgj=zceo36&f$NNLgi5*p<&f*YYJ;A0i1pX$+M#DTGnQanyYk5j08df(a8p(XTrr zsn*|o(&AK(zu%o_9=1qA=5Ee0VXur!2Tnt`qc0lFRL7sorD@jcWD=pBOE)b`hdcVo zB<6c66KfDeDl^TXG|G!WMlVVni-6TrhnRr%`q0w)gtj$(z^iTYg2{J1ahHb}tkuYc z-)X62XHhUZ@zO=zWNsS zIU8b?=~O6uk-_9y9%ql7u%}s5&)|7waX5UGWA>$8K`Ea=e0$(B#;y~`ug<^7Gif6X zFFyg5a|YQi-2{4dbC~&|gi??Q7f;IL^E|fe%gB+ zZpto3Nw@W^^sD)xs1pn(#_KWv5f5B;`rx=sDS`4?z|{pC!CGq#KWj)58D=LF5Enlux^tH zqbjlj`O|9Pll_k6CyGNCCc`(Ir8vlX!pXpk=yFYj*lqHr;pZ5}VZmuMD0)M@q#Gc; z!5a@PTt@s<9Ko$WnL26|f~wFf`bnpsb$~P2dr_ENP+eu_Q9l!Qzn+OJlJ)Rj!)G$9 zwG^7fH9*+=Gi1$^1(&a4Fso-iY(GVz)I9^%c7)>q$K-hODuhfgSw*)Dbm8AwHFzZL zHsv3$!fv5rD*wg^qAL~AvpK+xfNg$u1`pNbcH=yAf$Drfb z^soCT)A5tlc|unzNt9JO4!^UYo#XR4Ze=c0V|tV|lrw?w>|%PTelsbYjam)f0~#;d}b|acie_a$r{jj%$h!a>`QMB zZ)E1&j>T?Ud%UL@L|ab8;T^sa)VXkb*^o*MR-K4zmp@^C?Rro1Z$2b4g9>o0Oqpl1 zCLR)xHlgdGTXb6+|;8 z8wV02al%L(VQWR8{ZdGRLEcTaD260n%9^77N%JV zajbam-Y(((lVhe}^zsE|&RoZdT$cBc)J+WEdY&9`jw2lV5Ox%BkZ`L@>|<`ex4vYE z{88w?-7gf$YN%X8-A*B1!YnDc@@XTP(xHY2y!=pMo)Zk0&Z1NPa=a*Rj=K3@4HO7= z!$M9{n6iI>c$G4s$9?xnR&%o#k6|LiTZA+Ii^M~vr(njCE#&x=VRG@{OY^?1ept6i z1g@-FOOs1V_>JmQd3HX|aGd7>6Q=9&UiaK1OSFcV(9Zez_GT{?h>8mIx2^?m?Mqmu z>;^LC25hs2DESvQpMAHt1Vo;sLjLv7{F$?NAjk9Ru7p*je&R8B`t=TUJ&Gq|df%9$swg}>QV*dI$4JTPVm+hCWj9@HAL#PAHE`;M4ad7ofrUXW^l{uTV(E4oMy)=RwwD?>-#7>Ej4&{z zw%y$GaWVgg50VZ1OlsHAh?~drAgsjz@>Wa|6jX`8(Uwj)x+w;c>%zrtT|&2qw!i|P zbMW?!3ukrC%fy!Ov(=tPb9#>YeB_#Q~6m(#f30XO$Ch>^v+ zwU@b``gOQJ_Y*kO595C-31m$M$5UzANTyQGMfKJnl(e4`73V-mdSs3>WlHdC{%hhB z;Du^q!4RV&De!tfKxMB_$CdN*XkB3t+4H8Jb5YEK2dkEXdyYO89TMlwk1T;t+<%xc zk1I3><ui>ZX!FqFQ$NQx{?iRBz89J8rnm$@3lezPOyzlX$d zwPrl`J$xRDerUt1a!IhRdP_n)I1jI91o6HZ3jWDK^tQ=K_!BP;&RzCUcgdDnIlKdk zPgdcRY6(U&)Cl5kCX-#<%p&l$I+d6sgGP^zM?XkDS0j z)nDw7bgs9V^^8ECfZ57*OX`I`!}=QyWOddgWaK{+`#-qn{>S4>%a{d{g*UX$3YIu2+M^bYaP^o4^*e{A((tA4|tM z>1QynR}%#eTj`9e3*h9uE3`X)2ebXoM4q7WD8_4ZJ>BH_u>0#NxbMP<6<2=~0&=llte=hTw(8WC_Jd>dUfc9a>vMgb1r?YLXtEtf@{e*F5jWX zTb|`b=GJrWvaOYL`Hg>Mzq&L?-}k@>&TlYdj~xy3i2~F8A8}hpPRF|Dyp2Xq|<(n>sM(@C}@oZ~!#iucPV2^KiO9nt7%t#x6HGPo_&* zp{3pgl2Lvhk6kT*J!d$#`pr&q<8UA<`$^)*-ALUZ6W*Gl{rozc_1JLX9aT*cphL+V z>i+dJxJ)P@7AxIA{<}N&o7mEq4Ys80x+xYtdPpiFr^A$A;~~CGg^pZ`fP*~&H2Zuh zbqKr#3MElo$E6L8w45=1MJ*|}%mF$@3sWrnVD#Z@^E;`Z*~rALoMY=ZZ0J^|iD&Zg z@Y?A-^>Yu%Tt7>2W?EsN)pXbzcLII|I5TgbnSuNVX*ToRW&T9HA;wXsf%eT1hA-Yi z5R_vFOW9daCM3j*;|D{l=>|IXtCy^6z6qWSj&R&VAzqF3Dm>!78_uqIVRk0NmTjxa z#V>a5@VPGsOABt{9M1%JDBlekjojI1mmkdiuny)PsA6SC^B_KQE}e0j%YFD<70y zWMIZ5LE_JBDs*oFEN?f#YwcV{{6{!@Mr{MCPA8;>dk%jPdd^OCE}`>k%=x*NO<12~zd6gifw-Q1&uV8(|PU4@$QJQO< z3fk#Re)bJh)cDFVMinwh zKG!{}TPB5XzLl}iw~_HK{buIn_Zn`*YQd2nao*PIPWmZp4dhziqnmOkVw|lM@4w3{ zu&PB?pl!YwT|$Kf!r@0SxXBUI1LT-wT~WbL#S~bq{1vA+iO|g9%T#NvJ@|~>AV)uO zJq5W+YVqR>-MqD#yyFMJZDV_Qb}xr0!U58ot;jleH4$fX5#GFA-t=h3Z93`cTl(6u zj$E&o5Tsj;rwWI+gIt9;`so94_$SUgR(Fk@wwWlHa{MOx1^CghIxCF7-OS`aO`^}1 zCW4?i0&kt%Kt)bC6WwcEE@;DKV!d8PAeETMIBrv+mPY?UqM|8$&-5ZPn=g|0D%YXc zJRaO56ipyQZx(@2(Rn^Hxzu

!Z!d)$=>Y5vETz3Z19Vr(Z1@&i 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 literal 0 HcmV?d00001 diff --git a/test/models/lfm2-audio/dummy_speech.onnx b/test/models/lfm2-audio/dummy_speech.onnx new file mode 100644 index 0000000000000000000000000000000000000000..1adb422c864d8f073c850f9dc4d2406c352ca79f GIT binary patch literal 17148 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 Y*~G=fp^&7?g?g?5c1xUCxEKTk0hk(o82|tP literal 0 HcmV?d00001 diff --git a/test/models/lfm2-audio/dummy_text.onnx b/test/models/lfm2-audio/dummy_text.onnx new file mode 100644 index 0000000000000000000000000000000000000000..50c167b43b46baf389a4922b73d682c93ff97298 GIT binary patch literal 133917 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%0A*4DGT2Al9WFi;lbmn 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 Il){+*1^2FpYXATM literal 0 HcmV?d00001 diff --git a/test/models/lfm2-audio/genai_config.json b/test/models/lfm2-audio/genai_config.json new file mode 100644 index 0000000000..975860af66 --- /dev/null +++ b/test/models/lfm2-audio/genai_config.json @@ -0,0 +1,88 @@ +{ + "model": { + "audio_token_id": 133, + "bos_token_id": 1, + "context_length": 4096, + "decoder": { + "session_options": { + "log_id": "onnxruntime-genai", + "provider_options": [] + }, + "filename": "dummy_text.onnx", + "head_size": 16, + "hidden_size": 32, + "inputs": { + "inputs_embeds": "inputs_embeds", + "attention_mask": "attention_mask", + "past_key_names": "past_key_values.%d.key", + "past_value_names": "past_key_values.%d.value", + "past_conv_names": "past.%d.conv" + }, + "outputs": { + "logits": "logits", + "present_key_names": "present.%d.key", + "present_value_names": "present.%d.value", + "present_conv_names": "present.%d.conv" + }, + "num_attention_heads": 2, + "num_hidden_layers": 4, + "num_key_value_heads": 2, + "layer_types": [ + "conv", + "full_attention", + "conv", + "full_attention" + ], + "conv_cache_size": 2 + }, + "eos_token_id": 7, + "pad_token_id": 0, + "type": "lfm2_audio", + "vocab_size": 65536, + "embedding": { + "session_options": { + "log_id": "onnxruntime-genai", + "provider_options": [] + }, + "filename": "dummy_embedding.onnx", + "inputs": { + "input_ids": "input_ids", + "audio_features": "audio_features" + }, + "outputs": { + "inputs_embeds": "inputs_embeds" + } + }, + "speech": { + "session_options": { + "log_id": "onnxruntime-genai", + "provider_options": [] + }, + "filename": "dummy_speech.onnx", + "inputs": { + "audio_embeds": "mel_spectrogram", + "audio_lengths": "mel_lengths", + "audio_sizes": "audio_sizes" + }, + "outputs": { + "audio_features": "audio_embeddings" + } + } + }, + "search": { + "diversity_penalty": 0.0, + "do_sample": false, + "early_stopping": true, + "length_penalty": 1.0, + "max_length": 4096, + "min_length": 0, + "no_repeat_ngram_size": 0, + "num_beams": 1, + "num_return_sequences": 1, + "past_present_share_buffer": false, + "repetition_penalty": 1.0, + "temperature": 1.0, + "top_k": 1, + "top_p": 1.0 + } +} diff --git a/test/models/lfm2-audio/tokenizer.zip b/test/models/lfm2-audio/tokenizer.zip new file mode 100644 index 0000000000000000000000000000000000000000..3e36ce5ae8796626082b071f01201e42569ee97f GIT binary patch literal 879624 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

9R$fz)DX#p4b2-CaaKA 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ⅅ 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 D2KyvN&bgYidet}(ywHiiQF7HV!X)}T6U9OU_ z#RH}Mi2`v~^Dr$I&;|8brvY#HKy+Yz)@z7U^VC(Th78Icr_x$B0c_@4xM4rbW#F@F zgIzG5qJg%6!t(sMazJ0}HrV&ah?YF-C|n`YhQn&hkvip!_Z&zVnftvv@KBd>7>93FBqsP<~<1maDV6WHq+LEbv;w zhkG(=2=QI2wmA$m&p#%^x@O4nS+`-c@dvVULlH&x%O!YSh5p`trzS4-wQ9o$+42MN zo@(8Oz04WOpB0bg#<~N}nbGtV6InsO(@9pyGkP5F9>-zg+|*jLA)BVLdNp!hnIkn~ zgDl)&)&?u{q_GFVz-y&^eT4z1QEsUhVej$wS*IX8Mq~fzxBkkxFj%wU>MTrmVQ)I( z!le(kVf1K_38%NO6&tc-fdS4T*`%(U^hvD27KYugV}odHC8MNSX->ftG*Xo27Q!(- z_S;E4+pW6_OIaM{c_-Q4!gaV?n|_a^9WCa-n4# zHm}w@mX>V@3ji=J+0gIwVIyySG>wbIk$Cu|(NH^!p5b8Zctd>uT>l3 zVpncGJf1k^rO1Z~JsK|eIQQ!@%>Ge$BEL%K;UwFa#hO(e4*&G#5ALAfV;K0LF3Iz? zltWPyEc;r);Y^&HL7HI(^*Cai)#W-q%Qsv&wFT?2Rl7ZQ1bfU^RBT)(yz^@!p12nn9f<2k+wg>221v}ov^eU@@KYncP)?nxC4+{N4W zSivW=hs?UJ!PlY=HXW@d;Py$>L8$X21fxYACYWD6p9{nxF6OhE!?m)OEb&>)0Ymhq zoaWqO#nKMrGRha2KYd+nfcZo2y|a6krUFx$iYs<(X1T!aUcaT)7ANuxO2-8ZQ@$2; z$g_nkE(-YNA*ccT9u>-dEQmr2I~?He73!wqUA1^~goMJzu_1w;3%B8o5I_|QTRS5PeaD*`7Mcu`|FqR)04QvO|!<|Jp6k7C48P**x{`YYZHOGa*==n&F_&vuef2uVso@m z^~~m#ZJ2vhc;tY!mUNiJQCf&uf8nzS=uQRe{_&q+YSqjX_Hc|QUvD+9DyEVLh!XY) z)YUwE(tWy^;_y$1Y4-@sMNuwKO0n7Z!N%ijb%$bkkVM5SilnJe(tQ{c3c=loVhMG! zz5`g@(4w4qW0{W%!M$xc=Vdz!f+Oiq7|<-@@V*7nuxmLBN$X+_2dgY3ccJ_$=ZEPN zdOITrL@nM>YlFG#hde}|H|d-{3pZ?nd{WjTE#NS(*=GHITRT-02vti7Qj}%I5aX>Q_50ncFHR(ufy6S>T`Uoo{mtAk*c9(931(sQfcv7&;f|@o7Iy#N7vW74ksFS9;rIq zUVr0m7PPb(YBS+813yd9hDvismExg$$unox$xKSIebRI=GiL;AUq{q#*-D7jO$4pA zphJ~C{PHn;C>|JI@jJ`TYTpav8dVR)zaZm`P5~Y*t7B(Gm~# zbc4GnV0LyM#`sAE%>K_`z{IJd=s<@Z3Y2~DE=)?w zp^8_^Gy8l1b3ly0&Q*f9K1(_*YtjRs1s$%1X&KgBb-tE!IOAd(ee%57L){#|tsq%- z*n^dc8{&DHNK{m7I&8W6MZe!-pPQCq_h{8AnSlmJS z*KZ|9R}Nu(K!wn*g){sCx!lg>mH?_4W401PORZlGy%V%$GNbFRNoP;3zsFfvt3He} zczU(mL$)hRs={Z7_so&%srmPN*~iGyHj$U6aO>sVlFQBEAm|5t>=4hmmVK}~9WMMo zXnWcwoJ1@)>^FqktHQ;&1;)OHefHQKYVZow&r#J>61@j<1ail z3shV)hWG;lXK6I8#yLDJECg{$Tz*;xV&HAS#`JlKb*f;Pvk*jFOUox{>T6{vvpk#G zhsmwwAj-x?Gaz_&!JJm&WeMlsfMTgP(zALeyEn%`1>fB@uvUF2(`K0W z`^QyB)n}dOxP&x_%!)d*#Q-^0LKb}plU?Z@1;0|v+rEFa5L_M;UqJz|t1}6}wB;Vw zuT@UwGh9Nhqo;eYcDW?O74K-pht)F~UIU`Ybw?Gg@35O;d1FsmR><(;IO&%)SE{eI z9X^sPDG~0Ke5v6EyY}nE7QE(=G<_c$Abe;26ewBiIhc7Zi-v+^pMLr_Y@}xV4MHhe z%t1T-(Ws>Jn8@7M+75GrFr7<@r5!G3iwcy;syGZR9xxS-uys!e9O?!t5 znw?qAhyNGxhymBETCFj8M6Z9GPJl!!wBW4KzyxIPM8A^UYoKy=wM0tb_M4`1`$_Aov) zX_*@jHiqS){C=Q!?GUzBGV>^#9ZZ_^VXfv+MR4xJtP);!cB0t53;9*zB#!EJgw-4_ zLN(GK5-R&O-)gaMq>P3;xNg=4R$Gcj+-fr_9=R&!xb!&QqB?$XLHDz`7F_}W8)4< zd;>=;R%y6`}irE@_C9#PUR; z_j+_tlZd7kdY~h!7J2ylcVJS&=OAhFS>9nUu5yzzH2Lh21DCh2H6F5}K5l7+hqr!# zK2#v@m)F9*P!*YKfrm>UUWHBV@W@$YRR?nxl?h8|Zfsx+&P}ZBP-J5iKx<)#-k=Yg zj*zTg!%3or9NsDuJTPImVm#ZI(V!5Ud%J;7?%8X+BU-f~n&DL_u<3Myd@b1U-gZr7 z>JJI7nFI37jUHwh$x!mfstt$t*Uz!S4=J>HMMw&Lt=(|l5n%a4)AH{`R9u#KFicEfV*s8>qBqEk?C}!DG{=z?AugOWg`@>c)n-uA3 z4F|Is88~TJ4cWyO%T4r) zzZcKv_-YE6ZCQcSST-m^WrbzPgMCOG0n3@CTXcU!d0etGC~Vg2d$5sPNj?ub(>}Ig zXnaocq+O1e%ffMl`dYC;@jd;7#-46`)ohLmvW?y1s|kO{F%CK`*6?mNip?H@?jVQS z$JsSl>2R`n1=fJ^fGy*%-%o2a3^oR^QO!ndpj{|ece$Vr*5*xraTTV%a@sCn8yuH~ zC3CWN&V1{N4_K*T5+avXD>cM$m9zvJk_28g)@Lx=)-&W-X<-JWe!X@FcCF2@6-lCn zmS#BlPcV^2Np6NJsIz=6%kT?4jLuAp#&R9G8U*clBMGWgu zN%hGvr1Y~S63I;8V<9cOLgRp`#Tk^3sGeh5rJ>gkU~8Q}ib}jd(1I3cu#92&>^;uI zj?jfn-&`Ma@!LHxVWqMMaDh1CJw`21VmFbWN$Hl)$P(DQD(BnS4KjW_g(Ix(~$^ zA>~qPC_DmaiB0Y(;7w)S1qrfh*@cRF09L(&A_YhZR~{b+r+syX=zjm^9N`l|F1g*hu_$s!6%wDq)lw9SWmc=*?vsnciSg=lUy zvZQ=jD=(O52K4hN-kF-Oij9u|+K#|zR$ZvFR$=FmNGxtWkMNlFK*?@HfNbAg-aRh- z@f{j_M|pQ{%FHLHS++!2hjkZDXXXizf2y??GK0U(;S;Y;xNO_lZPmU!HJ6mxR6+C% zVYK%`j26OZQN9BT2d%_#VvY)Bt;6tZY&;5(oy*O)oWZODed7aJu&9clu;OJX($x|S z#eNhQ@&_s_B?*Cyf)=f1TG8muUF3#!7;GW6t@Ovl*HR3btCI6KSp6Mfoy8cCjG;vs zHo867`fXV@RLT1U&^|m3BTee0Nzl^z3qWxXT!=+WFziUFDXTBcqwy?E1$waj!osqd z!rswEr6V{&Sa@Mx*3uxpR$e%f+XAGeq#^p9eoM}A2~s?*yl{AbbsO;wExphS2C(Uh z*rX{c)k+JML>jC?yJVn_Lp>xCIxV;GR+x+cUs-O!;B85L&;kop^73n#Rc3sQ4q@(( z&)2UCqUVg+Ks!&_c$EPF6_IJMpfb|KmEe>*|(~#i8t@Zb{WR|Z5 z7Y=W&Ua!AXg}qvJA#$!uEx2%KzSZibLGE881jVuorlW*+q`)KBb{mtglPw z-DUZOkD@6KlB~XvVst97)<=zj-=_Y!SG$Lm58Nkqw^MnR?Iy@@(jp9*^CM^lhQr&d zC#xTApm<#)b*;l-W@NDgYxDLqFf;fR`7EsrUtzOkUSf<9a;s?MM`%zXP|K2k3uY3` zGyqV4Nlr+!JfPT}TdE9`y@q~G3p1RF%B7Y2z$jM`ZWF0rEXVLsC?q#NE8Bk$R~2h9 z>_xdiF)hZRYNlVIv9Fglxs~#-jX_WAvm8TYtE=Ha_FMX>%XlXQp|bBEb+Xk#ftP3w zbX4}mx=yHKWrk`^Y}|8Fkmba(e684E2G9?y7iLC&yZ#Z4O~?Gr-^i>cciY>4_YSO0 zZ@dNCF1bldF7ZoSD2;Let=sUUeU!>M_!cGNY!pEqE8cqt+PC&8IvvIng z&7^oh3pTh}DfFqBXSk3+eG)=~#SaMhnd4L~k>YC|hhio~5L(9Johp<0E7+OI8T&h{ zH$-)TANETv-|)__Vd_#9RRSw%fSYw`HNc&7`dR4`aao|@?4+!V%CKs%NW*T7-yw(GUS{d?0nk{b zq0%wiYho)}tl`sAylkw}P-N3k>{KFLozc<2l3F%-#{EJ-H9dF@h4Vr{e%5I?73FYT zX_iWX)t#}XOT3eJT#u8vq@&_Z*-(^`|E+K+C*%)U3XPgbXcPzz#lbzOKSUrTZoHZD#<2GEIEW$7`7}DmPxlzCcpcztL@g{`k z_QPCod@yV;=!HSdNVN|L)SX?#@;6jQm5q{6xjI>b;XkBgg*6xs|FZh-@UQFJ5VFRb z6U56(VfNIT40$B`f56_ko8=Brh8AS_R0lqmP^3d>!|Mv`t8kZZ2y5Wz$H z%+;L6@JIxN;>@&<@@8uII-M6@#DD^(;doc1=`c3PH#Z6Aq2p+0RfbdHL|)S8yv}^- zkR0nWm>bz*8aJW{&|R3j>J%-{aNxGefGcFjnPaSBX@*mIc*6?Q;^6{L&fh8FP}2$x zCzsiFQ|`nf4Yg*Z9|VI|K6*Hnv%D5($g?CW#Y}$L@CK~@ac-@j(8&I}TvR*)7G*dS znVH_?eFj>Kp&TU=Ck(V6Lu{jAa?T921jE%?Hm`wTz#*OrVms}n`wNBgrfGx` zpWqM3<0!iuiVP@05k+JH$u(G_=i4yryw}zJx^^SjAV;1o<$)GzsJxPx znk}7%RH~%{mTA}$qt{AYsJFdfqmBL^C_c(3`WPQ*;RZ7@YuiBkv7wa_Xtjn5SI@)N zRh7Z0Y7VqMLlsurfw_6N{a-@<38w3AnMZBW{474bN zBX0pQQGJ2Je7#{0w&rEcX?F*LN`aPUsJNc*AKqHMs`*9&tA;mk;dJJYqb-9y)7Gwz1YjPL8o5_SBr`$A3OT@N=4Z?C4 z4J6DLV1*B~27^^j#;HGG6^3{m!`i&-e(p}<0c$T5iKxH@T72PzW!+oikraUIcZRU3 zqTy({pXIx-(;PlnW@7hS+Szh%a>RtdMgfa3oXWGMP=EzmgP|DDlA3ZIG5SC&F;tS< z&uT9^8absPv8AaCJc$mtPGw(E@a@rASb8BWmX^D)CfNx(%-q}5s5#Gd&}ngj;M@^t@ddkYCvr!H zX70WD9ToysUa<8t79Yu<=ziEWYo0ik0vLQ& zmmg3G>pMI3K-WqPCnm8NX}`X+{-&u*3$zf!E>^J)`Q$96F3f7Oe=IAq7Frl*NmhFx z0xh&q1OvbsSAy8xk7B$tV^RVr4LwZ!7j1IEL)&s`%II7gzi9VE#xtjV1o|DS?x@< za^&(C%z+V2Urq{%9J~ArhGAj!!KYVhHZ0-%U~xpt@xUlbtn8sod^_k+Vs3q z!4`DLMHgBpJD^U7{B!5aDSm+2d9!>e0zm=mFhrlh*i)6^6F4yft-mmG+rw~hoC=Cl z0}eXmj@ygm&pe`OU+h8-FVIp9TDmsSatt=&hGQ zarbB;hPN-k)JlDx$u9fCMi(}977L4AtQ&;jY=Q0= zc0Ic0z}UR-fBs`->XNr@8dWJ*F4P`q z$%R=|XP*V#77fVE%H68s>p;sZm?KqP_873P!uHj(TQCn=2-im0n!(Jn3R`mO(2@#u ziUq!m)>N?WL9tSSQeBE6yB}*SEaC-*q!w4O;BrrTrNzICd9C#o-U?H>w@R9sI7rF5 z3Rg1u%vw|7qyhTq1BK7b@oE=FmQWGI#%c=LZiojV_u97A5x~v6omOQ4s#F4&P>9o+ zygvc7EwdOz(x6`UMpm;u2i@+V9dHD7Z@}^irqAYxg9ly0XrR~?uH1lC6!Hk$oK{h| zR@d+bte{{H|MILFr9lH#k`)52ppeHq7{KIRtLscdS$DK*LV>!!pi2mC^E!;fmK3ji zI2N^^$yXq3HY;HaIBgRg69G#loDXA+O+sdqgETB;@Dnckpq8W!y8T`&f>(~vpl9*F z3rZwugobq51sek`k6@tf-J1M8(DDdlM27;ck5H-G!m6@A{GhfG``Y@6*?RA+@71Z< z0c#|j&T$^;GVw=TjN?TTr!waWl3kVV(8BfhJoy;r=B)?a0c^wL^bJuMWs5^_872Q6 z+<;Z({XwQQ&{_%882znaSRO~ULPNkB2_Hw!AIUNap`4zzI6_4M^`|bvN@B1bZvXCo+o_2HTCLGmmnzJ*P;3Rz}E{89t1+ahz}cM>MLefW=H6*6SWE zl&d_kXzp>w4kiSXewY;-^Oho`v*jFb&TNyz(p61nOiV3okhlfAN1$vL z-UxFS-|Z1Bt4QYXa0-`|dEO9(1X|tTt$(Oa$|TuJpA+V`pNaD+siZfmN3UB4!^&NmwrGaDLG~{Seq9H8M^c= zVX{#kg}ak%Uw%l*Ic|8csXA!`(@Qw@dj!j(bQ;R*1&TkV#-&=sKs;Ppv7q1Wz(!xz zrZzr80|}CbdvXs>VyIl15;f6+1^o?t-v02vbyzre3TYRVW&&Z__Zf4CII*&Pf%S5P zDTWQzlFr=WN6Q#gPPCg%Z3N(AuLaUFEHi}8E{D1G>BuM{cUfVMRI*WML4$FV02Z*K z0sOHTRRgb`qn3xr7Y=&lH#?Wf`mAtT&%+nhjBT~x*c}la3$&)eC!d(*e~Er$<#)zWK96Lh zRp@M9#S>xf^Tv1&=H_*+^A$^vf@l417dEw7PqOPUs=&t}fK37MR6@a8%;01m%`;hz z6dpSeD8^a_=D=VH(B=Bxap!;sI;}qF5jvX-X0Zw@b(SqA7JXergf!P;xZ zI#-Vo80--i+XA;`Ry&x79qx{doYQXk#o^%=>xMq!KPA{+`&W(A5?)!8o3v^A(c&n|EMp-u@#y1E9_vu-w7N;Zo3t7COi!15qm-n8$xqv*rX^ zUwk~Fxz zergV0ciwznmzf4EY!FVYYNhMl0f%_aCS=x@_y*1cTIRr3pv#$5D;;b(cONSqh@g@D z&`>8<{NC0vN|j-7MC{-zr%QITrlbh8@PVxgS$$LM!k{rwS#q^gPfH(IK6LpsN0uLPvf zdI&Xjpv$qu0VS=Duw&gCur{xMViOCMPYE73VeGV>rr3rF z$6bu0(i}h}zq+N3@JI^_2U-_l6ecdHphXb|8$H;DN0X6I!y9N(gu~kg4~dy*>z=M( zRv-0yG_v}(`*8*HK0W&@*vP+#2oj4Sgo{PAjAf=OjJH?9)aO!(M80z{;E8*ue#)c6 zkOi#Lu{eBL93kAah3_t1`FGfqkIhNY1OxK2&BN<4$o&J>MVLfMJdVXDGiU=l z$#QjSm;nnU)XYlq$ILx^AipzhMayeIEZ zFm6jiSp$M`n@c>R0&#I!L<^)QvP8n^Y%i9Z_q8I~c$Ug0pw$u1o;?d2lV=pW^0ErO zU6x$a0im~|99!{9ae%Qrf;oh^;O~HN+$bxddJt%dgiwY+mpoBFYreZ+Kw;6u>d^s& zwlosVr*}2rf!0WP+Zj83$S;!HijXJ95EQ8Vm-!OBRL}O!#nnv$io^ zNM0^*G8hnSD`pvza0ZmSmceU}SKzXPZ`Th2bhL1SWpRLU!17Oa9?6fi&TW)goWkPaR_rjp0~3} zw2Og5`D&HWh-A@e&4i7v2OIgG%rOjREuXrK3rTVsklXECmL!OjX|aUJvaU%kh?Yy( zEyTv>@mhWuqfZwWe7?F9idj*{3!hQI;s}?`G&BzjzX%H>d=QJ34&kS;2zbZjT|Xg@ z1ZyLVvv53<`J%AeNvnPYD~T{ZUep9yL0c99aQtTVfB)1lrw3Xb!TL>LB-gW9doYeE zYb`O09-fUnaG#Z7ot^|gl~zVDAnC4*I|bi*10Oct$4aTcU^#?~<@Km$*$7w*;Xh(g zZVLu}D=$D?1CP<%A|L+I>DJO7qmbO0%)M^Y4O=z79t0al#amv3s^uXA0fp(_ie;f9 zNM}!9&zBO`8&F2u3=RVpP&mA|`bPSdGTQ9sWJ{ybMAR6_{gO>ht0>fa?X#B0?Ppxr z^vPzm*4;(F1YBjD0Syk>hj+&<^Q^33R#SL%hZ`-muWRKL4LzN&Dz|4pRaWP--9^$U ziz|#vvjM`cJhh!3Y^1LI+I+U#>t~poLxy+HwQ@kf0t+@!nLCD}F$S)d1W{MWN!WIsAHcPhN^DPA^+MiExY-l4-ra`V!`*7cQlV z>}o8jVAkP<*qaVGk9VicxFU0X(r*>mhS!^@{gBe*MzJju$2V8VFGOa`kYJyy9S8Or zl3MBNrK~Oe7Hjtxm_Wq17qqk%Y&!K^K!w&@Fh*=eT5-WFtXQ##DsKIQ3~(ZeTf(QS z(<6W0<=j^E3zu!c3Jo@aa4Dc#OEkO>m%0{c_@6OMeHF{22rA&TW$8PX(4gOy2#!5q8x(>OZ(W6ggUc!cQ^bL5m6;&CBEJe9lA zsVACSUVsBMDa{QmwqEBbz(+&#!W%vG4JFW>E-^Sga^B6eNt9%0plXH^PpB#2k`Q|Z z>oLSLNmyVt2J<#%sg}R!=~Cq{kk6^b7(&!MY7vGwHP|!U!J{kSmL^ zFtXJ6bS6(q$SXCFlnOIF_R!h9-_-r3e)V%#E}=)f!7mZ z?&(VxFI_=Pz&w5!mgJd>(^))mU$5`uxTNJ5E+z6CDvDgV z)4Nt(Xu^xDqv1u*=e)=?%4cDMC6u68l*Drx?>fYK@6GRJP1N$G^&zBAyU`*HHbAkw zk+}J<5SiIJu!$=;_UY;Ku=SXN^D)fL`=51bk}Sj^`D0o&3YWF?Yk#g8%XR+{NLyH$ z6JUOpX|UgucIedU$*FxaPqPSf1fpWR4-gOj@Ji z@Yd=U7GjoZSlFo8QvP7T4#qmIym7W_$p-TX->;vl^SoAV2-69MftG8qK0iTPtk`h) zC!01A_#M_;n#Rj`E-@D^;$RL5BNzjU=3=(`-BymU&EQ1~5r=$V>#hfWw|l&&`~{j@ zOfg|qHjlke%Q#$(=aGarS;OIUmG50PPB4~nSlGnKLjF)C5>8N2!YU3n7Ms*U7J(LU zu$2HCH=o~tmDGnSLT0=%SE))OiBHsStMB08XQhS+s-V1A5?|?)a{qcR%L(|cfhI)i!627R@l9GQaUdqsWp7Q z`a;$WLVJ@qoTeH4q*|@vl0o+)_dG2!Uvn}-RF(xBvR(a0?08yWdMm{DYwI4Vty~5% z%d>e_h!0U~GQ1^WRG%>46$7d>*n3RY^}S4E&FOo8{Q@BwEyu9!h{LoFL%&ut3VgzN zW|)YJk<}P3q!sTj1}I^?t+32vC z6o;*bG3?EYpSL;x-!D+!q(yrF(?X1&2JIG!DYen3s<74 ztYH*sy?7Z$jqKLnfn`j~FC5-qeSwrxR$rJ#1spS4a-mA({oefhoj?vI?Jd(O76!s_ z@7da7*aLmaskCvc2CcwQZ!Fa&a}SNpTWzvRxpCgMr*zj9{(rN0brnKsULG^#A*^2{KT?or%Imgo~oVFc{ zO>s#?C2YOpxRGDDnW2Rj`rZIGmHX>?uxSEEmrAMS7R+hs%k@ixTps~J1e_=rChJMQY? z(RAbQ&_u_xbSH0~w0Y@IuU>(zdEZZK$P!R-s+o8%O!vJ&aFTTvayZEX&WsxwxH)#; zfq>agY}w3ZuV%4@%5hK!@xOAJ4O({L#KN+m;$;*(E61}K#^&8eHb)Is{jqCR_&`f8 zOy!;&AI;#P4#?$p+D%J>WaHeK34CXJu=YuxVkuA{AW&90k0QB|D!-1>vE(wc*n(N@ zN7##4Z(-9+g$(xKXhH*5YiY#=Tb(Zt$9fBqLHzP?3YhK3Qm~-a7R;Lcz|81d>({Hh zXk^j6r48(6a=Sr0)cRaKoKpGC^0^y53Zhw!DZH%$XnW`wa=KNd^=Kf3W?n9lTsL4?&!P&aYabziH0vr{NO!_?nM+fb zSOd`~3Wk*vpaZR@V1D?^_0P&-r1cb>!gSkV&f*H23!7w#29Kx^a!Jk5vI>i&l9_2T zIsyV{ix`@br(=eBx8&Kr9s;0GOauiy|$}0F} zTQsA>QpTTxXK%gp3)uAgyf{DvC+lqL=V9vD{l%pWa?QlxeLn+6hn? zS!-XNr4Hl{1J=iV4)c(_eKwx^h5QAtSD%%!44}T=uR+vo&H808Eov$=V<&&vv{IMC zU+7S1K9|dh#V*9tkgIGno#c^R-n{LZyb_tVMt#2O!!}ggLX1zTuvb=&FqH;J1U&g* z_W+j#R6<#M6ODbiaWuh2&1(h8wj<1Ff@JUJH9M-c)8X>A;>*P|5H_m<4Mkl6V%vz| zZCr-6o|0`D9?bwli>f)UeYw`ik&sj-I|W6z!vyzG=q#Jc8+uy%1g;2c?s9g;^Xk-W z8+z>T#)9E7y;W2ZQ(AlTuI6NuC-R62lD)SL6NNydIB{#Y$26Q7UcZ%mhO#o#ps?7f zt1xv4XThj>0`}z5T5|L2ubiN;ZB#5zXUn|y_gVWu7mdlXMu5xgh}Y_B8rwqd-x%Lt z!L9%NPnamAqehXAZr*$I`wFC5b4R6oVPgn189)!V-tq3k*O2}e{tLM+ZM{HKgePn1V^XqGjVcOmvkt)IWCK3hPlpK2x&CUma$7S zx6Q}U#Q%sUR_cVu-ZnH{aILHfn51+=j~^ z)>cAUXRu;xse=#GC2X4hWA$Qn2WI_(@8?l@19rVV0n=%bgWTqRCNNXT($Y4CvAjEl zEu-u9JS;8jK$yt0Yn5G)nj5qBi2c|4d(5d0bLo!DWP#c>+txj@8R4fDw)({$Ono9| z6t{$Jp=$UnMt`#Ms1O{-k^BV3?90ThUs~{>(yqB{4z7SFXa?bb{H}VWWsnJi%Vp>9YXsHCX$a z0e4o6@$viY=}#~k6(IZN{32{#OVYudDdqC!Eh`~S860SDych#(Nczf8i&93M!er;7uvrucijDKq{pf&Y;zA4n z0%1FOBt5}SGQ2YdDfhEP?yV;E|G&Dq!gQu6WmzjqSToauFPDi^^tG)=%0!+v(~_c< zwsa_kY@cmYRN?zDQHGMG$b43zxUbQy@@&U)7mwy^fqhS5vUnj*A!}EBUhll~&OgH4 zz~Tnm2Qs-8F6;RoY+aT@{G!qV!kA#8s@)jtpTcGRK@T>fw+UrDC{XquK7j9W;H@6J zuTW89FYwjLvXC55+dyeo533-FF}G_&U#c$$>=Ja^@TQUFdkm<99b4hIvwO|JU~;#I z2(j9RzUJ49BYb>?)uLh%jbnuRZPSo3?>$8qc^j7yb-L*Sx71TOGoCM`Zvvf&GmGZ7 z-lG0Jt%-0U-GNP4N#tRb5?`Q6$M^PNBb5u_6|I0!xkn#1idyU2xMZN+Ea@`BSY#Q5 zI1MLec^20|m!Ml%GYnfZ5d305GVV4KEK)>|ge)7q$VW!0nWslabru`B#O3NW^S)Gd7+R8dB z3;9Nb;PP@I*HZ~WyfkAbGY~Gu-lZiGdP5&Jt^~uj9d{HZbdSe+)Ct-B$nwTKM2b8saeskQL?#72~ND z9z#{RJJohug`A;T;ibiI*B$ORXAF6C(?$Ws3`GpDO1^Ga~C&Y9fV7X^+nGYXlgp+Ot=h3q0B|b zZ(po#!K_!ceaF3HTUyS;9OhO!eZx&r7bSj$%ha0g4PjH6<7F6DA;D{&F~QwW-Dy&`4=#2GD0jb6v*7SEKDGdrHLU(aH$@eg`&H`ZwLR;w^Z7h0J!6P>dZd z@cI25Rtkfhy9jIZs(<&7Fi~2a-H=CU&@MyaO1F0XUC&&D(Ie{Z6f%nr~SW{kTnxac$V1Ma4vsBGELJw z9-F~Xit9&fBG@D>7%4b=x033#W}gnx@n3IcujPz2(}8C)m50qb_4-qTWxH(;YTjw(P6S2gP)6p>7Gigl)C zl^ZBc15(Wliy7={e#1woRS>6uzosmOz3GV)r?Zb>?6tGe+_!DBuRVi#z$>cF zR>CA>jf9Hi+$<07Xs)#q@^FIhps-pwO@WpIrf66uv3MZ+8^_SlJ#g4w>m*ch>_60N z0UEoUWIrO|unl?JO<-mh^*PJdbtL6z1%L?gYkEvPJWw9xtdwfVEJ%^CCw8aZ5M8uiJQ1rn-=PrQS5 ztWUVka?b1mu=hJH37pidKGNh9V4Gyg4jRbgd<)QAYb6}sS^Z$Xvn{#DAYjFWpDB#g zXRWJhc`1_^b5YACm}LmIKGEF#0@jumOjS#Urltp`89q{%)0lQ*xt2VtA&ysCEMd^W z2qR!ul#5!N380|Q8u7Ov1aBLqC;MsD}-6Q~=Pp*ZkZ8)0HUp8N$Zc=31_ z!B{PgFp6dDQ#^DpMABBj$7k|56Q7yZM?l__X1BK&G%s%JA>_~0awqOYEt7DzDjs#c zrx4vZDGS*XwN%34*Kd9gKT@CkZ*EQCw zd0=sQhv-GpWvmYHq@`dJer+Aw^VRogR2*z>9oN3Pd+R5wn}_$!f^!>TwF?tHZmiS1Y+s(=i_qlca59{wQJ?A8w~O64nr3L~ zk}^ULYDC-8Q!&k7BciF56dap%!!u|vpfm3{oJ4ck63COc7iaoYC|sD0Z@}iWfTo;Q zwWNZ1*`HRoYQ~Ma(cd`A2>cbCs(r$Uc{Dy4C$jVV-4@Ne5Wd>B9%%?#Xeljys$iSR zL8MQ9yl~-Wp#p{{%!ZkbV;89Dx0Fq-7MZm8`U^hZg|+F2vjsX?!NE~(<~XcMRvzID zt*!tS(&x=`svzMwhQh2h_m8Sn{TWF;{T36*`jw0Ova&)pHtV4fTiQmCB~8T1*(VR4 zoWJ@3v)?4;d<0*o)>yC}CRDN5hK`aanc*7^TJ*azP_?3h*(_k|(*X-HCDu~dUWBk} z)#9<-Ra5L2yD<7~24G2$&_W6_4hAiPT{{r3qoqR$9G2$?4O%N`^^@6bgg($V_LzRD zVibOi?jiJ7gy~rBsM0=1qXQVVe8}n{e5zVe;f!Sc47k$ZHM~N%&`6W}#p=7d(6nwO zk6tBfia|6Wr`~oBBRS41VK8TJ`5XZ<#ivf!vt!&Q2tc z&~(7bPd|mNdH?GeF`B<4oy0{E%_T&yH5KC2EZ(qE{*2Y zkH|dE?#TmqO6LggOJHtufx%B+x~n-HID=M{HOi-wPpTCZ%!v!OE+r60$UmLEEw1`4=eIdkJe8xdr>?__i1=0RQc9S>Iq+@ldO;*ZeIIhiNT;n zu58I?C5|WkM4+sq)hotQ5Wu<#dE{J#ESxYtNMady3XqM&q+j~|IB)iAf??B&?a@tL z3a4Jq<8&M?Gx@tgoAJNNa%263?PV^mGFDF59F?%@8NB`$aoz#>=&og@_*YmkVUl5i zQ+VtIPE=YN!EDj@41~Xh1Ou&%kSzr4kZbOuLnMU44v@{E6%j14nyg0@JhddY*%(Ki z0f8^bpozO#DH~|?z95J zIVqfC@q;iKhv^M8H1B>Yk~^q1JLtnkY&7XOksA+M@XhY8lPHzup+b(t= zlp;DkB=6gPn9s4;XwidyzfM>h5)y0F8f}Yy+sjcthnb`02N{+C);LfZ52AvF9w%Tn zj`!k3yh%esWv4E~NISDRHN9}B=pnh`4E%Fh8Cv;Zw_18&Zk6S5Qu>g5atm{;3#alq z6-@i*4>I{O3Z!k9Kv1N3VBHb*$@NE-#>u(|dF9AM!+>b>(y1g*4ts5Xyk>E>?Ov;n zdOngf@vz6IlicMkvKqqWaFpOV2%JsLewA9vkdcfeio_;KG!3Pp+bVvRPo=P$S+yJ} z9`<=SjA7+d_ae8-Lb7UU4TMt>I=$~5**CBNVL+b00Sqbj`hMmLcZUSmE+R*NNWs@h zB$J=u+J#GJuQwENwzb<*8p26KOCcP7zP^XI9uTs5hMnwNG&V2)+rNdwhV>7k>kF&j zmX2ki9B5UfP=3Vc(C8qAKs9bbEICq^y%CrDNE#fVA zREKbX2wR`<{Ct$lG^6ONO2TVg8d?V70AVsMfzX7DD>}oQ(yI#Koy_2v*D?qdNmrel zbrWi=<^r$9t=*)758JAywAalX02Kt$MVOx?Ui3w{-zV#Xfg2F62@oCX2?)(oKuNYs*8_BlSx( z`^U*H{m^V|X*TFm?z!_AI2Tyg_c3E z>Ao0F-Ude;vm}!1n@%t%ZP+wxz`lFP=5_yeIYa7$M^3jiil?(t=0-8AAWZUbU;e5~ zXewPcf6*i2p)iGjmThX@`E-b!Q>}yWH&vbF&#*TyJSp)86kOd36EXXo_4th~|3#Bd z50oq(Erf6oVUuPZgtG=7n(ZAGQ(6n*MjX0GhgL#}i#W;!xN9v0v$EWUkxpuliQ>TP zwsb7h!s+YUR?4i%GFVl9znB!7?O-?%fZJY{A>8$>gkUDEq+Mtogla9idw6U81deO3 z#|3Id#hoa3)SPsYjA_DewX$b1gTKV%lG9~8FNITuwGnnC{ez?t{%SVEzhcIFOr2XS z%=|&O=m_hr)lC%Hur$Ku#3fvM!~(K@E? zqEK6AMK+oSukG2ko3}i-UfTXQU+?zi#*v-*{x3crx7s$@l^5KOXS{}YT}X;nQIapT zwGu!UkSqX+P9UpT)#J5n_4vW(;Vk<+O}`ycBt?q4kP<0TqAqJymHw}Z$ozKV`?A>6 zp62x0fdVokBO|`pvG@L+Ja5)lrX>8z!>;Cb2FiQ{3;1C^!WmCihLtMW=jg&7Iyx-m)$;*XmNN<^4B>J^Ky zvgCY5A}kVn2}y&+VIMZ#gw2QWF)9k-w9Tk;T0SA|=(zR#^nB=!k%p8&kwhTrF8@&GxOtEa=&GXuqW6p89 zoaG12%h?y6H%nIIIr57wWktls}t7ZO4Kz}p3pe88cph=+x zi)7DZJJD4n!nQDfDYPINjY_*t8rt)8yorP8iyFIWQF%%(cqjE$KJis@=IPf_3l`{~ zKJI)<{$30p@v7}sEGaZ}G`FFuN>)=ReJh1>Y)@em-u9=9CL6IYzO*Xt!^T%M(4(hE zbm*i+gPnYYS+6g;?C)_J#YBTMLj=L~MUpL>)SJEtvT@OThp^;7@%8a4p1kErFxJ4w zfy4F9M1$kce);g^Q5rG+4)fI~X=u6$)U3*2ukG7hc)a{E0?LuDV$D)PL z$ej8xbNqiOQvk@4|5!&Nwe63|rJhX8D7$PUDf2}p=op5dz+FkeNkv> zV(WNcON4ypp5U|N$0sk)*riB7`vY+sH?J~jwX@k`jNlvv8YB~^gf>&A$hCc6!Fh!P z0mc}3B2+U!ieht00`rjww)bqaq9}tJ3TS_@x$A%0g^4y>+1Q@FxXZTJ2|UGp$yu1> zV-uT-F}Ut_>C^pYq>^5HZ6~uRFy1Lq0cseO%AyN87kqpHP?AHur1?SKBS zzk!XD5EJAX^u>QxMcqF~14nF4l0~+HJC9)o)e-p@FiWAMCev@QrHp7FXo+XZAcKqP zszzmcbEpm*KMg-{|Nr-Bj#?FXQu{l8*q83Cn<~M+jpDXOc1XxrgDs?t4z`rIIIW*Nj`7q&o;n@4FnZk%5XG;r#8maUtO%1J9ql$qBSN{&C zj>7F9SE*}Xqp{m2IDdl%MS-tj?Q=c0A8*4tXgf3Oamql0aW;od(oI)B8@OD!w{ron z<3LVEld+o=*Kj>D+h93ePm`H_XRM*IUbEmSvutyBjY&-52BRu32R$f`vvrDF4ExGa z{|e^KonOx3m0-BRr4{D27Stf!X_9voY%ovf!y>UNo(eWNH?$w%JtxLj)X|by_61TC zBUv>5;eoiywnx)>HpW9%kmy$hPR9n3dcOQ>b4=Ga(&UkMNta8X#npF#) zjI4WNO{mS>e!97bSXpWZjX!=MfoM0=(R5Ma9IanD$8=qR0d2-$N74cd z8^7#84n8ksi$es#Dd}MBoq@2o4t^4B2?mmdaAj&99i|+d#V&;D2AAH0NlLvp*+a}U zaI^K7N8i!8(LgksR}guT6d4p6Qw~yu8z|tQNS8%EE}>xtBG0ZAxeZIDPR(ZJYF%uO z?*?5hPno57-clRn=ozxXnRk%-h<*DJDHq@a2=2SZ>@zerQgZF*KM*JWNwFA_>97q~Lx*8=Gslr@?;t=;DI_<5ZMoD{nzrCe^2d>13B>=&hpW2GgXmf%gc2+#3gD8-pyA08Jc62yy&rkrr9m?Ro0aJ zW5xkZQkx=-3Ol%v&ut2k5V!Lg-UzPXHm+x;U`rI-)IH;R?F+W##BqnXw zCQ!1$cvBuT*b4NV+hN|*QRRTS z2CrpyQT&jv9L!-=CY4+Hp4Or~P^7^!o0vm0*pk?`WOrS{9B?+lS8fTc9Fb@Yx%TO% zghQ|;uDA2~K7O7g+_ltfaxhW{eWOQ2zg?Ntuo7>VS}^%A#rOzYm5{!+_c>tBf!njy zHj;3DLD_fOXo?oqaaDzidbJA}cd(CCv|vjl+;7XQ8M5ML+e>Dpji;#dDkL|qmIR%j z)|c>X1Png7mZ1Yl$?Z9bjqw+?strG`H<)#!h&j&y#n+32?Rv(X(}+Rj?&; z?ws4=r<(!Ad8Ix+vw6ov&t1+(Hrsj1=Aq`V-c!~ zOOK}LBNB0O+<{FGzlX4D$->DDkGIo0^sXW{a`dJ+-B!!2$m~@o9rvqbSu|O9!Ip-u zEi*g<@wUCOPG(t(H;ts+Kl~|7!pSyA=67{tJDK#0O`1utB}&fUPKE@iKmiH9%F=WVYNFcV=+z1S7}-j8)wW3VO1pzmCOk*Bvy#ZEHCm-JM= zR&I1l1P&ODaJC`9dV46ux!K%4&rf|=_>xQu@TGk#mB_gRlbm`l6YC3+aPOzH73Lq( zZ&f{pvbiF@>oYZZC}2K9!*E7T*?<`dmn`-oU`#@?&arUx`N*tX<9FaBK(m2EeCM0A&*~3cM1`0~p&Sra9T1m2fP*;`;7?R+l z!3*4|=(JVyyax=rmwDLNlqt#TY0bp+3#qhl4d>M#ANE zSjQR!!B(q&Jys0)pl@3nw!ZE}y%64#q%) zRUNDrFf}3S_hFMTH50r+5WiZ$e@l<)5k9I_%qjZb+ur? zQHzR!}4cOzgd!mV3laFGIrB2he+76k6K>qLU`oObfVBdqBMhtZZ!k;ZT)MD;qaf%g zvT1?$kVM&gNs%@3fXN8kYhQY{xq6XhmlI#=5W}~_%a@;r@mN@!Jvw<-(}sdT+-uV; zEs|nnvxbPWb3P1rk~I@$S0A%mbMLOx1k#~x13zvycnXt-G#adtCJ@WzueOI9On#Fded4`)6| z!(vc^K+Zvv#X6bTC2_hyx;VtzMB)s!BA!!KUCfr^Y1^&|I{`Bjl1X!QgZ8UTbpY@S zFD&;fP>#af^0Bjm$+2%x?RjxBfr|&B?vGiYc>juOgQ61U=VH=C^6x0-+++|dmY`a zlWqb=B~&>}uu^h(zXMzN$B|yoEwVUZa6%O%Xl9~?tm`z8Aly@)v zvy$E`1}40hk1`l_VaMJ-6yMv$15`l|Lh-v*C7Q6Bgeu-p;W=PtLbjL8Y({2mf)5*o zQCJc8fBBc{!22E=JEudm?@|HIhX~pJ79XdOkntEjL=tX4OW^AZH38xA(Wlswh2n)9 zxi|GNU0CFMz&HiBs^&0~n9FgmB;}$(7q&<%@K?@-N9eSWT{6YezNRB*a%*36$g=B$ zP<(K^`K&%G4H%{n4MNzY`gFFySdc_gzse`(#}2}%6_CC5*zz^zEe0xJc>ml?y~WF8TGK+t|q-GzQ~@}y}TNOge;#*#?5TetoSRwAb)6!8;;a(H_E4H#uc z_w|%vkGVYPV<$=HhD;#Hpl8tc5pL1+}S#nLvq0N4x){@o1!t8vv zX6v_*6)NMd%nF-f1ODHX2>6y%aJ)GHZ zwpE(hH@7-Ob(lbj3GZa1sRhmik*Kr6htgTY;8oy^y69*<)+3Q>*)EJcrZXhH1d33& z;2G{!PAD29IS7E3W}3nXCv^f+NY(|6LhW^=s~9_usG4 zJW#(o4p|hcaNcdeZ4<0qg~XgDOjRfsSV5Gga6Xx#?-*@$fcJng3X3#>_kigM#pV)v zs)IgS!!GM|ZV591^Ap@u20m%P^n@LIuIyQJJ&ea8%IjJ(!GzI5CX{PGnSj(4Ff-xO z&DY<)2$Y1KX*j?%D@-kMcx*vVv{_lM^ZlU#|q;Z$`0HTRXXT0y8PH zH-MiG6s546;1S2CeCHTMawxh}I=N?mvFU-=)(1;GKGI`8b`^|*fbj{#B29MDjd8CH zwRZW^N@$B-?cqSj zkU-0qOPv2JJK>#Vw!~QPh!^<*wri2bwcT}lIbSdLLp1g!Gk7mAiwx%mN>8xT>CJ9} zAqof<#0`sXyLj;(SVOH8wGXoZQ}S|#H%2^eK3fArg3IUny3+QWU5@6x>$Vt8Ip9D! z3JZ=i50s?vM_!XAoho3wg6~Fz>nK=ZR2;Zz8>%Cc!~{39C1wvfipMH(2255!fv*Z7 zfJQ01_|eRUWUupz1YUHF9+_74XN%O&qn#o=3e&5m3y!a^sIfAkKrO#+=9=p zV@P_S*oAdw6D#RA_tSR8BH(7(j_og*w&2SrjdS}NElfCBG~d6u_p>+cO6gQ3nL^Sry3{>cyfQVXYz!*PuND1uDD`5OJU|h0ECt0)Z(CRY0Yg>A-lE zVv1sLf)7nNdU^ct=n;GYOiyrXHG#21)Qst4zzqMI<9gzElp^)VG2!Q)>HEm zKCakDA2XAprK@5V{TWCZ{b@;pofEp}+A?10G%ZhnQWMJxUpWB?j(l4HXEOsBrH3g-bBf$nJ!&4aD~`X<`auIc4>A`eBwF>m2TNAth{f!I)pT zQd^7;>$YxnG))Q&0n&M%CJJM>oe=yZC^O&Rm0cN(l(_WHNyQRQ!RPbke=%csrJ}(s4dd zn#o0^n|I%sUCKC3^Acu?^GkQqBHjE%s{qQf3NEq7Ea#?G&cG(}Bo;mQdg{i8H3V&t z*Q1jcM|Z2!(wCd^e?dG@R2rOQ@j!!|b8|7rS}MdJRgX=qh;z<6eAqT)u zP&+zMLc)6Ly#lG_;{}XJSkBN-BHStkwajNeE*8z*(}DRL*~h?yVLD36=KA_tB!Xb; zK}QZz_p|k4ldRDRPmz;e7!4c$`#XG4Hus7B`6<`Vb5v&g2_J}rD2~3?YQ6a)AK9LT z84Abuojm&j=I*J}&rJv%V-%_szMqai`Q`U@Zfn3ig_D2B|NTE`Qm^&CJyxyQo5O#| zPz5APecb3uB`aJ{hed+gK0!y++)kRTGK-k%h?sL<_{f060rM0}Un!)Sw>qNcMoF=R zxz|RjzG#+VMk(y$MTiFN%=V{Ew97qv?(MKT8y?LfjE~9jq~C=VXb|^L?xtTnXwrJq z3{De9Ed2Mk_tK)UFj|Eyys=m!sGboEhw!d3USVnx#9t;Jwy?L`4X!s0~p+E{{&H|UoiVCU?4*>!#0U= z45LQGcRDR(uIo4&Nu&zP<)&U@z-)$cW{O793>Pd4v7?T^d<3hM^q%E7xKS{JFMyPr zL=iN@gQEvH4P_|9p}X`9R>|sYa!3OvF(hterKs%^D2>5sj;cboO+1K0>8kFIw14N5tXzWR(uh`^c1r zGvjoLV-e*uq)jq*z-)%h_A1O}a54g2LE^CXfWaIRIHbtX75!G$&oEu(RecLIOQ7M( zVxk1eUrhOLEC{dF3~~) zp=@N#K#zIcc>7n#J>@f`b30^EKtp<`!QKQN(Sf^*)Lt4=fv??$ssHNwAWfaSpfebp zc69xOS>|I|`kCAC#ygi_3)+a+Kj3X;WP{UUKf)N%d7;IiF|#2%JhY{OsSOne=UG+2 z^J_FRN$BYQiJ5!s3i_hPd#hE2QCX ztWa&x4U`T&uahls8mY8~zuzq0-L_lrdpaEX86T0-{Ez)WLqjCnmO86CU{J#bzFWZz z?%^F~V1wIt)hYe}F9r;5@C1|^Bo!#LVU*YTg`*9xEMRs+6?A14vIE68BnvOL>IRj8 z)q((N&)|kbgd=t%J?YAK(hbKh=!yuuH2iyYq6<3(lrEd=)Dp+5=2Sod4cBr{^0IkH+APfcP*+L_y5im2M{V&y@eDVc1b7BBxOe0E z$(P6Xj($WCp8y)X#QmxM7mX5p*mMZzx;{Ml4oApcO{nnEa-gaN3}#rT!1V--W$-v~ zM0GNmA@jZ&+=hhX`HU2pDW@B8JB(sDdp+HUv9A>AbUoUI5N7y9w&t}jAr3z1g;tqMG1_sR^0otfo1EXVBVN6~oiK`Se$;i6lkM@3>U{6Gu$PYx2h(!LfFd1P&C5~2|dbXSR_S(iMl7wzE!hZ zQZR#iN9RqAkzOk<&wjTr&ea4+)S#!;fh(1^pV)H4oCXWi<3d$|q8i+6k}sOwjp7>hlv`K$FkD-OdSQ6FRO$SBPM)~`evJlkZ_JWmURXvp(;eP%JK?gh0xn8;xbYT@l24e7XLe0gM;Y^5 zFKQK&UAdhE91n_hxSj4}((S2luX1mpLC-%ubwGc^8@yy!al=X-o8q7>$ZW%e=U z;e*#;(qcX{J1OhQ5$?Ex=AyGi^Z5fO8$lxZ#-5FCe=*=hh+3};(P6coVv{dWhrfY| z#14{88R(D?u|_D*!Iv*xU|Q^G?VeGQBQ&Ph>9)N;2%SK4Pq*?P8=ECys>5~H2k2r_ zc$J3&ch%i$MOduef6=7*Gs~)mfGzq;b-3ZL+d4|Y4mlF!80&EU-7BzlUR{;uX9}_T z3Lj<2LvvSB+vMnhO;Dr&eQ^>)9CWlx0OCKnft8qNF5ziMZR>^onM$8PI@Ilm_ni;oal zqWlN9>#}92-zuM8&hV5)^!>xxvu9xzf#*~~27BC&x~&LiXjJFc$R;9n>3QG0zhX=! zB=>G?yu7`BtAy2aT62HEM`UMP`e_I+FX_H_FIS{xk`&BQj@_DXRmLp z^p?+u_8pu1+&BL>vmm^rN$sGeFG_CYBN|M{_9ZN@Ui|x7l5R0Z6k1mp2@WG$MM2q%1oexv^7y6>m3cS&bc{sjz^c~6*DdgdNbH!1&J&SX;R*nZ+$I<-x}`pM2{E(N8vr zB-_Gs<&Pd7e|q%t^P5PkNh`zXc-yW&3l=@*(kHwQp*OvJo&1kzT$Z*A+?5++;bYW9Y(;&hXc6RmG{6U3Vm&X`XeOQ z-iBOd;scbV_d%g6wGiD5ocI!`m{c9L`I-5EX zWaY~k^^n+kf`T5rwl&^Yz?=s+aDG1d`S^jGJh0}9HaoXmri(GEJTdISYLcA_7f|%W zH49}`^ux+cIIEq^UJ6obXXi-rWc-7h+rD%^asT8~NO7h>EHcc>eJP!O*IrZ6WxgJc z{pvugvWyP-R^ua5a0>{;5^Ks4H9mY^VYFwm+dc`>J&CWBU39;$FC3gSv~0P8?m2KlJTz8^^Dg%g!_ zY|2=Ozsz6?6>yNxlA9TbDPy23(#7!r7vLxZQr%m48KyzrzVpV2#NAl2DGZT0N@wsKF1FU2S zAMTo>7#EWvoNg!(F~v}bGb`kZG83Xo;aWGo#1zzOo^1=ZJ?_ID{KJz{v+nhj=}o9l}hZ zghg}k#8e2xGCoDaDC;rP+fU3g#zqTNQ8amxG$x41rm3x)9y`3luG75i`{U8F0VJ}~lOnKk_`-Zdxi zzJocC<0aGK%6nMlB_*aR?BRSmPRpjK?VuaK+Ku)t)g*m{kE&a>^g`XwGPsQ{XO0K3 z$stqOY&n?%kuL!k4wwV6m(NP*_<>|lT(|;bAW<7QIUk5x8>TaVtyoYsZ&~MhAon zd&rCWy22Lg;Xh8kv1v49+QSFth6fx%@QWbi&|&1Y-N!yp+X<7J8?2gYkd+b^})@6FHgQf!{+vXg8;mcnGd&aE$fm< zAtN8G9zx@!M-kVM;SZ@{e#0#}FkL1Gv%L11hFg;Oit|ZCI)n^>m?q^C-4e87BOh8A zeW>t<%SAH5zzBoWo)0?z4YyRkRlK;vWK(%EWDrDwWZsZ55dZwoAN&r+j^2@-H&cD* zP>B%xQ%kxD842-bp5f_*yj?x8XDZ6=s?RXX>xM`IXuh=A+)!~4o@9p-N#T|R$N8GA zNYM(F2r(>+%z8v}BX-I~y|)gxw9Ifi!&4*u<~{5{6!Y$2*`2EQf zbOQ;uAC=DT9$pnMDS=1yPx?=VT8 z_AITrQ z;ffCsf?YzDQIjlWn8Sh9T@4lGaA8`XDTj=4n3Z>63px7G{$4`&K0o=k0yn)xV@$rD zx+wN+Z=7^_Ng*glvKbM$}9g?9ANqp$1T zX&6Wh+v*SpNFk#f&gV{D*3rgc5UAtOo-t>y`cRjqf^W!7hl}Yt$!2Dks$6O9$qAX| z;GIGXBo~JYbXbFw6f(`Bsv`<(_tidSF0T0uAMHtm-_rYVHteU6c@Oy>L=>YQP=EPB z-5{>C<4=#CG!22oM53N}$iRmiZl{Ru*BphZSvOtqhIb>FWL4fn^#GEgHFcE=XoFn@ z*`@U~v-sLDh_qCLXL--jB8gg;Yh%2nqNk3$e1gV+y)-l2hCO>3{`O+6)v*Av{Z5MHhp&}oWovgqc zK&tIb6|!Q}Z%-%q*&5$2p0)SV!fECSTBMk0wwKzIlMIC`MKXlBL;J;Y^YW8&OIEw~ z9lbxkHLbHOezY8ckl7Ebb>7@6#kX|podFXb4vDQEtijcDY(NI}JuUT=1xESi7&<5+k(%AEB-23=svPavYN3 z!k-m;qK$Ql$hbE~=?oTHMBJII`DoZG(~f%~3Fn>+Y#P6Y;Fz#Qawuo( zY>C%WF%AWGvk5EU4)Ez==3_UY1YZYHm8hw znCIhi*4TTxwC?yLTf6+e9&4tJGefZtZaH537L%Rio6eeRC4E=m+ezE~`k$fRLQ!?w z)8<{&LL&EGRpLJk#pSk6>{aS8&%@uIO`4+aobVgFT?@8Eiha0YBS7Tbg=wB+uMvu# zyIGVrmy4tAMp35%h75k#PsbDclBg9?HASp+7`D(|%XKqRbXz#eFE(kiSnwDHQJuwo z3bQz*GV7IYU)B33wZcW?pj}8E0T_+fJQSZ?0`F!h(k}IxF%t|W5qI0ud^mcsHS2PL0V3+|Mz+8cBW?F9zj2++G8>nD9{bj{qVBF_ zs$2f_>mhdSS3X6 zxuvO&o(LHQas2q`0o+uKg1Gv|^-C~@uPEsN*m1~Eh-3kulQJRTO8b#ZtA`ARsH^pb zk;J#1&-{z#DY|HEMYz7)px{ELL--im^RN!uYV`YN2DX`(;ShaZ#i9-Y3>g#=M}63&xbi)J=APNrQh?(y zwX1DOpL+UGFhnvN!WuA~tjH3(5)yfn%$|9xq{tmurI=i@vy-CuRTzoP+e!TBF)bQ} zT2>KP&(UrE2+F>wPoZa-88>%2#i|=c8X-OkL@y_!DhXaSYx+6LqmtQ|B_x1C8`$76-c zgxJl-3l!N8l?$<*R~hw>8pKn`fQXTK@0AX*tXR7CG$i2dd{#hDM&hCK9JtcHOG*Z% z#X4yYrkDq* z^wwu+>Sz$zhbLHVdaasiHCzI(wJ1Bkke! zjg2K^AkOSGBS{We-%n;Ui?d=9#Mz%Ank|4(Eo_jR_1`Qbo5#tb) zVGzS+<|HY%^yCrqbuthlpZl!p`?Y-_XAn;}Q#5BQ3kDA&w01Z{XR`{9l1upeu(QXa14 zvmKae30tjF`xZv)Hl4;<2|iHR7V}tqahI#;4g4xewX(>U39LMYy}fLlDzQj4BbMgp)^3ZZ_)u4>033Y=bMN%*cE3(h3mNH#%jQv zhyUXK17jqawkMxgvA1{8sGNtzxX9=Bs~u*eewo4Al|9(;f7Er*!dN8T`P9kXDHQEXJMDL>NLZE5dn9OVlJ8d@Lz9UtZm&^HT)S$orJNTuYL~-J04h9lgTj|b+z!T zQ=Nq^Afn;?9?O1ZbI0%AybPP82VZ=BANIa3BpWsM4L%@?TUO%* zLuEhgn0JrS4^AN3)sl4c!xuV)nGbm}UX=EJiD*lTp?gNDjU!QQZ_0m`SbFK=4pm4mX_A z+Qkeb+6XrpBFHP*frnmUT0{`}}(#bL7FB>n?jlnj8_Mz|fLAM)SU*>Pb<&T!mT?K{IukozGt=TLdHK#lVZGvHI~pWC-l8bx{;ZRfY|ej z6)%s{AAIx&W}A-0%Vj?1*|> z=Xi7^-u~h*EV7O14asO1s|W)dwo{+Mm0N?PBf61if|p?pSFQM9$gGB|`DD_3e~0S? z+c$J2n#dxin9txQ!0)Q?F%*6XJ0jrH$~}bFtD|XJRTgC3($y3-U&t#NBcOsw4Nf@2 zM(GP(vqf#v$tOlS37OL1#K#&VQ;Ye!?uKYpPJ{P6%+}ewxgc@E0pA=lsbMR|4Af=h zG*0U}TFUpc=1i6041fOTe-2w~g*Okck{N2IEzUR;&frl_8J>Wsw$e@E<_cjfgIn2t zb~~a^kG{r^sG|{bFWY$CP!SC)Ujr8VmQJr-)GkjNd}r8^bJdF$?$?n6)hg9EwPXH{ z_}_Mlys?vrZ8(9U(i+}Ni(S+N3Ojv;v)Gv~8kH{Zmb={gP>xlTr4NG6_%9XhwHQ~y zQq2;gS*q2aV^oRi^Gr*7j|W;@U_MWpC{ji^`1%beUsOAepV26h(eMi~#Nqf$C(gcb zfB1#HCZzuIi7hegob&!>`|V9fl%wYU`H1y?oevx;xZ$dY_Eq-omX<9yqD;uBhDsNF zS?hx8e?P!S7{^o_kbQ`jY% zsH(Y(1}ZSH2h%{ycHuHf)cK14Fa}x#(>jSOym^m5tSwi2Q!y)KX2Z>cC2WeW!)}Oa z4ezJ+dz<_7DR(PaWnBB{GkRZ?)qt6|)~5_=sFGBkAK(Aw_weyEtl`oMml}qz@{IkA zMmbYUH|KI)5pSMG_zx`d`Hod4hsuikgWTiqvg*CKm6NQXyI9pnj3j-URJbfL@2_+AGX09>e<#}m78;t84la!ya~Z#e1kJub|<47ZWI=$ z!sv!e3&i1dwb)3p_GGf=+a-zj<z%&us@Nmfo!96+HBRUt3zfx061ssdx9#KPsfBK9)xHCZ;^ zK&Cg`Zqh`V-r#10N6036hDN^gTen_=Ri1s#yfX*kK%ItPy%DetLlSEY>RK@cZ^e;EfBb2Ed$#9Yopn z#Dh1>F)fLlyWuy4_g0m*M{`WUonx%mN^IDs$WbOXR43kFSDUH_Xx!ZOVY;?oVEm*H z@4$1_7=!AXP=upmHG*WZ^uJ&N1!W<}$!BmC{3ikx&4rRMFLstacG+EeH zNfdmMPMRAL5|_^>$MewShsQ@>+n6K8b~PKqwzYS5Rf(b#id%3q z@H2!8DQi;HVYX7hg412l3yfFz;4fezIyO$K6|S&J zdR4MQHg7zveMw|ppw?^H7rk|<`5Mw&zw$~Lze;keW|)UeRB*eG2}V{wXrZAR&R^IM zUJ(^#CtQ#55#*^RE3@*@|D1jilyu-~r9 zj<_<(8)P;^;!6WJizCAs;$93}&|-$b|KAr)b~9grgJn(XDRI!1<>%|=o`1=czE;-6CuMH>P!Hb z2dC%>(8zs}W(&V~;Ds00n?IS!msN5P1g(M^CJ74JDX8JyOE@4`LIWY2P66k_zJ|@= z4m1HGU;C<>J80_BaK(f!F1Y<<&-LMEChABDp2twvwHu(XkS!lV2YVn9AwEUMwgUY& zUuy_+LlPi+RB!gX!U=L5G`V;Q1jV zG|1LFS!7EtAHlGOY_*&vc-ETx;N3cYkAz#{FuF%aFHyj+F9)*2bleo%V_-wYLpEn~ zU(REPsk?#@}YGz3B9V= zCmt2aylj2ge0X!)``K;SxNbf2QTw9id?g(8PG3)7py!#*P#pu^YxXVoOmT2%-J_GA zY@*j9C3&$(F{nt?HQ>~+FPiT41Oe-PO?;Roh3(1((eTJ7B9V2gWo}=tr_7^SiC2h( zUAD5g14c58Jn$P<*{PInD7$SP4KyG3=!{p=1`r`E@ktwl!cLL$Xq6k=v7tf|F7EbV>$g?MoeC$6R=)i= zjjRz4#JN^33Uetlm?0^UH8^OowRY3ZOGIKWALXM_^CvMMdjELzCCpR})t&@9($ z80bl9!$A$1&2as7m?%B3AH&wufaE&F0AoVa8t`h8E_0h8b4)3iA(`1Z-=G_`a|G_A zA#BGo-fhlOl+Ex?m70TROp@%PTU0Ego-qu*C^}+;2HkF}wn6&a(v9w!UA3GQR{NhK z8zq+4J`jbLFWpdXGNl>IaQxupF+xWe%kbLL;_L>!pv{?{^* z^L(>Os zFBa&)NGAOs-1K$-=xJSVKH7@6PA6_Xw;Y2=5e|O*uJEOz@y11FFDD7SYsu|;TN-VN zvo1whw}=rAt10eVymPl9;-W1%DRpWM?}BK%bIWAZe9b`X)Vj%Q<=&$i9%DxbLy;U@ zg~u*pc0)XfVB_0;J@XX?>~$1}TvfW|;RF{!67S5=_SX?Z9L`?Naf2lBc9OMS3g7j0 z@63UnZ+kDX&X=>&Y~kxz)(s-@E+n&2iN7F?=j+ZO|0>!NkK6tM>6(bS4Ze8tYJ>?} zO9Q(-JKlHFcjKb8P9S-A!zvO)TcYaDC$<)dm|ImvhwKlez>Hf_%L0#>1K$4a=%cj( zup-7dWGkMHNzKigH2r9+rzz@-W_BYX=NWdJKOp|jEN`r>Gw~`5ymlN!%5m@klFc>I zvi9lGv)cO?F~}iZEV2@lmS{Nd6oomE%@G~}sW)HY4Oh}<-O_`NoH1#FF~SAn(iH}W zW-`p@He<CJLs>k`)!*^F-yX)DIjM$BvYz(-QxaSs$xQLL)6U1$rHhBL#D4_cG? zOKhYt`H@;nhSR#{Jz97PD@wC=8JLArsYnS9ek0>yiz9TR_}UTd(vzA3XdfX__ zdv)QRi1`j#I)Y85YE|I%9+aDs94rL@@{Ms0%iKz2L=1EI)va5wg;eYXPRocf4!`~f zm}r!HXz2pZ;fM(i$B$0F@k^-FNnfCm$U7*t6fwOa?nkgmWtCC$(ZQ?G+jX0Wv-5e5 z>j{I?^5VH2MdBm0H8Tfi6oh(cJ}PRrU8D>Lu%}jNYULq+409`jd6vwZ{u0erJ24{0 zHB^M6+!&rw3)=94!>c0&H(V*w6bg{R4Zgq|9xUm$*M19Aq#5puWSH4^NE*ih7EHx9 z%n~QS?b}73BpIHe2(qdsz714yxE1L4arbnb9Ht?WWQ%0i?pQS0+e;j-qQ7J1rQuIV zj#<5@DClT_z{$fpY&lYXLy=Ch&A{vMk>F~zk2s1*0S-G($WHgI98?rY9GiRC=@9nK z&2O+R5%U}3ZXY%+^;u1TsDT+NuVFXajC;{#=gXa)q&|?0g6^pz&-HtOxl!q;``H|3 zL9~32$J>?jz-J3sHQMR$&_)?4v#XvuYoG5)%^jlyM1hF2{WSCCFVQm41fM+{BBafV zEScC$Bd)fh23$9PB6aPdz?js~sa@O=LmJNB2EH$1M#CFd@rsCZ%?;EH<{r~{Erl~; z7(+aWVUxp>e>?gC3o*m$AG$62cQ9+B;nBxUqG7X6N_5+H71C>ufTY=^c}@Dd)pTFB z@yULLk4U-8GTlqi;iT5ypQcupH&RlAKitl2q9MK339+sztA4dvjY+C4QnL~7ce9*} zLOa|~Gh3!fqWOZ8X654oC!(?Di7XpuJ3A%rQ}PV1y$>VbWIoIAwumAdSEux&bTh+{ zDl2Dhmr$RjMM`OKdx6oWh-aj*hKuPkT{N48upQ?1fWQU!@R3N}LA#qjR+u#?MUj#l zRvt+*x0X#;ytaen{fNm8Ndd?~#LNbFF%8=~3PqZE&fk7>MI_8JH+k%@U=CX8iC~jQ zVGy1Ur+VIKnoV@)OME=iVt@Gv_PAB!st&x4LUFOBi#pghVt|8J_LDWt)DepjLbf8N zHeAT(cIAQ^v&}Yh8ho%kUS0+@yq?aMFov&kzaW_=VqU`>_ZgmYA)CvHi4Dh(e)$mk zNoft2c46$1C|*wO8~T#H3FAP(I_MEnWu2f0n^gPCefSGTl5pvLC2=?n7{!p;rjS_- z$Df^ick-3{_rb|eP6K>aQ-h*V1zI_o*>EC(HnlXUNRbTJZ^GE8n%%ZB2*q9Ii4;}Y zp?Zc%PMP7xZV!;R{UTu4p?^&OaI7^3lj^R%7tkXwllPdd-t$d1H z@F~ed*!fo9t4pdxp~$dxk(5oMnUfM8MN!W0nWDC{aJ(dG=2VjfuOv(k1jDl|#d zCssBPnTTl%hsXc(FwP6s4R5>Xk7s!uc2l8r(UXm4JtjgoROv{5T=w7)H3q{F_k**L$%4L$U*oN(T> zpX#(`&5uUdIESLlRwHwJhEm_{NAz+2!Hq<=PXb0!9nZWt!hOS ziC&welcI_a8^ck;xP_`753J#7>QhrDDvC5E!L7|x#P&ptUD&Fz0TFW+jz2kiUWXw> z%38RP6(gh$L;_myg;&1xT~i<5M+{oHk-$V+b&{`U$zE*_v;zN5Iw{exx$B$Y07j7r zvW6 z_RcX>;rQ;!_jsL{sxV8}hv;CDW0Rr|o{Si(-~{coMx;kdRj7*CnY&x53Kz50F3jCm z9}9kLWf~){XqYIHq=TKjNJl796h(64c|9*o9w=zxMv*vqFhvX18ZVdVZ3$N^ z@E4-d2dwB5}tWZ}{!8_LB6lY95a-#WqQlR2Tq$C9&EoB`n&a>%( z8+<2h%?ZL_CNB7;oKh^0^5t9@$DlZ->P2u(R8ZU+DHH$7o z6PGqS`UdWDMk)A`iLR&Yr-kV|OGXeY3RBqe;064G6yd%4_7zxzb`is`o85CAhrjV3 zGF2g|()rM(Jpp}xa`f${=4zx=g__3PET^R8d=M{YAaStm`D0kvC8oo#ys%5L$}bie zdE#Wda=kXHhYb~vqo}X0mc^bue-d<^FoumFc=MX(8by6&$E>TOw6-LXd^->HcEt3A zZA)&Cn4ggEm`zI8_^p|-bE8O9nj7X5TTDo)olTn>SrHQyvUHN-5wch_+Cs$e1Vpbr zWoTif5QX8|ewxSmpZ%FltOErDVS}jvg`0Npt^9;!l$T8`lQ0w>L&?Nirp@mv7ib7H z`Rt_|qxUhSnWQk;`0JRXfbtPf4F(d$Tc;}bj1xPWWtPISY^W#T+^J z07j}QzNo=)O%__j9EEI%r6`sNw2POvVeM1aZ546p_Rlz9WRwD>6#R(r(0YPls=}F3 z4qHGJzFiv$B-GCAPt9A*K!tocJwRLxBNcKaBt%S8xOHo9wM^`}hr)UL6sJzHoM~3^ z+RY!((~V--2JNzk_m7@Hd@?(sK*%3s6P$egqE45K;z;R7@X0AP;Z2lBi!3?)Ch8Fb(*)B*lRXgAqFY05%@QfBFwFhOdf? z`5cW>cC;M&2%lLK));G9-6jwZjhlPkwtgT{wiV-9#Vzj3BdaMEF$ckEE8DC8fJUyi zI>KVWB!pyU?r8-f)cucJASpJ*u2?w;6Q|run+G}?NjLRQYRt2-_{%OOE4;!i!~8Dy zBbX_0dTvL|%tP?rO@EeWEd#0Yn#{5t`~c~&cQJT4ci{fXPe&Ndq`@xM*@}^35U%($ zp?NaHcoy|_31_*nh_82WmK96B!1;1B!by2`Iw5RYpCL^)pQb{Bxh*2SHoFV*n!yK$ z8D0^sot7qe!Nonc<5o5EIV$*o@P*%!d*~Z{v_p%#sX3(}B<56%TM3*CJTCE?&1#-_ z#N-3N;-af1o@|~hnlST-0SNwd$^Jl8_DlCV`Xq#p(MT$LFY^(3AEF_C6-~Q#>)gXf zn%E{3THlcEGGHtKBYCZlo| z+Fx`O#E0C4jtH`wg$KqTpruth4HYamb$z3bl=XNoE#~&pDA3dY^OJ*RHsO=tg zM5s-Dtjo$~QKlfAyKn)vSdY-{_*e-DSF<@Dspz!7w_edYxr+nbdDKb)`l%WHIKqGu z?MM{bO$#LNh)*pULJ~3tAupZ$#qE)RYwEW}3_+M~Xed!f{Alxh>;vX82Y1Aob~!C= zNRetQ{o4Yo?6*>+CNTYAQl^J6D(<3OtQ&W=A`t5G*bx&D5>Nj{hm%@!J3m}rCpyh9 z|Dg$B?1*ObSo^xpiv4;=L*9MLip`!R-FC|boCqE9q5XXoEMuSVYXrb2FwS{iwu5=j(E~;Bb2k#JLP5=!L!d~gforfme~mTIv9Hi>Z5)`?1eh!H;Jv&Cc}2`Tcx{o7 z?ZZ+l?+J{e+QyClNnr<9lZkyvM=J+CgSp!(URx~l4ecgk(7~^gJrqZX7;tcAVz$9) zzrK086l^d;{o_cn2FqFH(0PW@L{cqB#rsHc234r^&=wXgzEMt+!Wy)=YmttowycXf zyPoYrqcYZDW_xF*8k|YW^%UM{1{+iug?klOtqvAqx`FqeV_(EK2S7g}b+&HKaBMsore%=Iw zG1$OQK_2vp9~U{6EZpjoEt|EeE2`|Ry5L--j00c)FKe8BT}k8|XDg2ac!~}qb(Yk5 z+fi5K*{G;1LPrccs9dnNg;U-^;$Q5A`J9z@aH+sPvn#U9m(;+)L07T^ZsVM-D`%TS zFI*P(c_InlcGD($UXC}fxIHI+Lx#|O9wjYZ5b&cHpZZyMiES5(@C98aA@ z+P)jZFp~cv>cU1Y!%hU-;MINcQd|IvH5eu~wL|gV-iwjYb!TV_jtG@6}5>Qt>ZoVKR zdZ!z=D_ty7OTko_!M63ZINerhf+0`xEK7Xqo_$XUD70&dO(v2i zaEN2O7P7$o=+eF=qP(M-hnbm@?TY7Zox4Q`7t}k&AGF9MCKvooxmh4Yv&|@3u&alf zAFZtpZKT+OgKMnpZZKEXWjsRXJSIKxYy`RSNUo#vN8A zU7|inqCOnBhu}C6M{WaZeyRhx2kGBqBYQn z?_mKu$7;Ek2v^FQ?Zcxdmtl>?`8mwZ>&j#T;!He2V^<4@tgBh8xiW=~7TD}ErJxFx z`4Q#;IY;MJ#o@X^)Z1GLqPUb%aIGwwca9H79~^z@Cb5S{&+S)8#d%CUE-99Dzi-CP zPs<64Qv)OW@vg>XfuS8So}fxh6*gG>a3!hNy!y%_J^_8+DuHU%wGF0iO5V` zS7Xv5G53DbbTTWq5vs}bM7X(~6zbtcJxwg|vEK81VSf}!6wELG>i&IfbBt)XH_I7n zJx0CmABj8v0nNlA!?`%K46>C)GAqa6Lb5opc|%Lz=H=cd3a2MZ?zUC!i+a7_G&Ai! z*5{^Vam0uN?^1!0pZ&Fb59eA8IXHgQd_zZN`7|45%>>pvMWnIN?mA4$zN7c5x_2+= z15zSB-}3_6eqz%(7iLLwM#1cZSz0Z&uuD}UrwS1#(t;oS!S$FGj9}Qo@xL8?zsSXi!~>skkEx!N-WAj>k6NIEuPX4=$EaSyxP#dY z>k;d{-~aM^c%zte;Om^xV!!NssDyytm!40Ww1RP>Lc3Sa1 znnUq~*hzrW5tg&fsYzdB-rUqOP3>%k5efhNS1`%4n9s`1(FJ1?np3iSHH0-%Uc$Ch zfK@DsUEV;s;CHM21nx=F6K=XKD3Yfbosgj7O<&ZYuXto(DSdJ0olhqw8yKK)?%Fxn zIO22PfZQz$r6fJ4YZi z6BBOT`T(}56*LNSEE!jD{3{`0oUSsIs*RYC;Nc?}D52JV@XqufikTg_Fe1SXiKn1_ z{ES9P%1Q5RVoLg2WjC879-fU$6m9tTSSS^bP?PkMnO}G8uPBzk1{~~Ji?VQzJ~?@^ zDPtZnF(H|w^P;ZKX%F1I^9kw?_9Ly2FiVURA2Bq+A5UYS&A5b|s=F~V;nLNMuxT9s zq$&po6{P3{*PH3wHX}?=_#khXI}zg(I=uikDv_{oFVecS5A(kN=moYcOiJh=r-=ax z#}6w?hkw0)K%?vlnmSC%NVt(E1^QbN3Bw$9MPN|YWiUdgX2V5HM99}uyNS)6ucvu#S2`f~YdW?0Ptr^eaa6+$gt?t5Dg0oS z7JhNW+8~a+_pKrXvkxvfjSIIQqYvCm`IXy6Zt|)7;>dfqC?_RKN-+ds`w%7?&&diC zvB9 z2~uI+fv2&q*N&`VNxLKfl&z;--T&&`|qM`0z(oiH&(6p z2EkUlUbpp&c=0Y`W@H!wB~?E~BQbW11lmZU2+MqS;EMtz_A4DJ=+PvXG8Uozo;Igy zOi8FJ!Nc0;v@jgEFd!lB)$86s4rBLxoCNHF7VCWpc|2%W{`jQXMk*8GdWsr*3`F?V zKmH|b9a=G(vM>WVh`ov;2uwoo{6XA}W|mfO@(x<0%1cE%$ABZ9cKneIfGBu%CgR6v z<{LhT%9Kn(aFWTsUd|;-xbvBWuxoqUL5pJLOH?OlQG)Qv=Wb&8?3aJR9#lyPKF523 z!s?M?5d0<{LP$9Xd(A>Kh}(s$@=bxCf#x^dt61IlkWyEikXA(rH;k@` z@d!6eewAeEcdBlW-9UpRwIf^vf*;{|| z>%YPgjq(vt&}_3-G9+OOdQ=GsMd~hggochjx^Gr?O?>bBX6&&feRT9`l{l`&9NPI-9Mt%axr_q;9UZ)0lzy_TF7&aA*uf&%Nc|w|P_kmf;D1^=p{o zwu8U!x1TJa93N|WHq*sn<7H!%LgwqDK0?oQ+iwV#NQNhLYPe)H5Pg?=K$rK#LO3ux z!Fx%UW)9S4R(tinZydV}P#8^9n>Bk}=*&WF2kktGXN{|lW9pftkc?8xpJtMRo62oT z?e*G~CqF?$>--9ydPXRmF`vqyl_p{9tcbiTHmt;hH_V$n5J4wYl=kC?N1vi-@j&EV zTDVP2W(%B1yzRe(k%(sVyl@%~LVX~WL~f+mq%tv~%2>k$B}#9W1Beq1B+Tw&x=u1v zBNAy>)nI~KfJq6 z!<2;At5c;|0SRxF#UaeE2$Zd-)ObsD+_?m0{9@%KR8WAzicQDLNq8q&?7~bT@k#B% zh!v5rU5*p`0mVw!Gj_Zs9=V;0s0}br%$S4=PP?t^MKoqi!tozY9{SW-JJ5_3moQ06 zobkt7n)Q&*EPEy1((-KxY>b(c;PcLFhDNM-1Y`8zZWL2N$l^HgV3m1Br52#uT(465s*ZN^o-NzruzSbL#?sW1Rvd8y$OjsuH?>OK=bJ$+ z?z^{YKX=Sj1=qO=j2c;6;IuDRoWiom?P7zi=vAonjY55ikBPUom?Vqr&@`Yz7JRUC zV%)np*y{dqR@&EoCBVmI)B6%@SRfKG8QOZHtc7%OJ3nYHM*Mo)wkk1cp-k|i2Z8$T zrylP-#f59VxC%_Xli6=b9_S+&C0grK_usEK{TG}LKS#sn#t+;CF}KU57&RoT$4p+p zhRbj5>ruk!1^AGwEIBj=RL^#m+KeBB?bB#zc<(UGPWHLsQm@T|jWcXD2^k=c4q5 z;ep=`peth8@O<2Cb`-v_?N7Y#p{wQib;mM!<3MYdxS6Rg?jJLQVYSTd(-eQam?2O# zW&lIFU*(%0+8^{7m`;fJe*MS#1@8w>ns?lRIb#L}CHG5eJe6 z+r0jrR;?w}IE$ISaK<0MLd`RHVVSHAKNT~0p{J(&6wPaQ5N!)^ zTFh96QIRbhwa#3Itu8v2`SS*DiJ8MNz6}${+cvk-R}{O~P1d4So$ZTht6mi7-o93B zD4OM$gxvd}nZzyPLQ%(&#ew+b#zk&hbcQb6NYO>4-2UkdOjHgJ4z57-nh!98d2?%T z7xs->7;Qf(#`gQYSF6z<4TBgncEO73w!^RDK$M%Cn*H=#I}F0s;cJD#_=!o2F;f_- zC2dFkdjv5pnGu;b74A^sS<;PcCzV7c%1()ZEW)q*gaNY@wmKr6bk ziL{GD(QU&#w<{U6+2FO#V+zCZ=O>?74~WBVSfdAHB`}P$#7$_BO-x(3krvZrX?6*@ zs9pw43Bp_WcVBh~=2m$o)UJz}xZt+ix&447P2I=9SLDLws_sDj0x@+VTkNK|7}9BO z+g2p_c9Lml>3l3^;KEkihi!AOe~IzJq=kn^Kh-CoF_RYjs51ad%(R6wZpFv|!imGM z-`>yKg=}v0tkeH^#hAKqc9N~9b-Hn^4}aUD3F66poBT@xk4gX0usllLx7`baH@Kie#IwoMVGS6x%ABl>X4&9wF(p zUw;5o*vjxo*BQ;Dq|T-&x*0Q*p-OGJS5Ns$sQlH#&yY3$J) z9aI&%3TzZmLKV8%t#yQLtuN+kXReO-ZY7f9Ur7`xilj)95yj^B+Dzbi6YqnjcPGZQ z<4tr`0Z1gCeE!N4X>Uwc{Pswkxf&+u*MC%_;lMdwplwz;{lyc)Dj zv#NCmR;6HEG(())8qyG&K5U)oFYWrj!thYnaN%MMxW*mcbj@k755;#)2k?MU4Y$@e zttz;2cuRDF(rj6J1t*{++qq&3Hip1em>jyfoNEcOoXM?GlI_3;)dNjokRE;*IO1)% zzW#arQaQ(%$*{Gki@NZdR1z+05EDUUWkF3cIpML&J*eJB%GG<3b>9SPuqldKn zhFTb!?z5C-evMF)E^K%(f#xzC6Npj35QaJwZ8ySA#$~`5hEv7dQ4?f$(P#X8yj)7T zb-*Ns?W~YzPcs-$<>X;neuJlJ3~|{svI{hhp%}TCEX-;v2FJ1nF_dn3oWMNb5&$s| zmAY(11tSMQSKBaC@}$*|i9^g{jIbo&&IkR?PQS%38#9Gl9q0h~qM+Y_o*ur?y+VR6 zyTNYAw=2w}9yPyysA9C=NWw?JGzX-wJ;G3z4~e;^^xinBVAEIPY(7EDBn%F8)^RD9 zniA~}^7zUGA4Yz;QIakfX_77X5((S)``qq6hwf#T!?>=`xIM*CpO%8%#C0N-W@tgb z9~>i%>HSTo?^B#O0z{+s*LHH{0tZu@vb88i4{1UyEd zsSj~EX{Wg^qD6o1!|(lP>E!a2ETKvXE`Wd!`lJ9|PSz67G-<$#Dejz>fVUx081%5U zpW%vk1F_PwznOqPwUdyfV4WocyT0}Ra2!TXIl)xj@>?~ca{L@Nd*inXr zw?K0pvLy9kx;|;Z-E;~;r@;U7biDYWB!-vO<=mi!ZqWQa4!=c ze3;RB-2R8WFv+RsN*iHr&-|lPFp*1s?m(`7Z>nhzb+2ewtMRfa1q}jHfLSpb?ZeI; zp6r%Z=4L>CyNhM9o8|`?2^9bE9oX7SkQ6W(j@6xjnYQ>9q7ww?2ch(+0qG#{L3BJ#K&ZABW$2Wf)LMwWwB$3O)xSJ-8Z;+c1aSPWSk!x<=ye z;dMCeH0a?>m5*W6)n6r8fq^DGICdp&6v?^F6`^DppaSY>$v(#kDY|tWVFMg#@HbBN5dWL zXN%Se`rL(ZT#21Bh4!)BYs5o5DPyq`xE28;<#212@H*X8mj)W`P#2fg4cg#a z4?3hRtT{@4U52vJbcZk;!lvqRhnuibbkI4wZ+}){h#gVE0r%NcCI5Xoq+=mE+%-2Ji@h zobPcEJ;N{Ti}{AtqBk+9ZgY|>WHB~_E-B=i_XlX`L+V@{vSHKUhed(OrR3HpR<<++ zEwMhQ56muu- z>%QMAGs$6;Nf3rX4rMZS6cXRwB+xhqs|auzNpm?|mE01gx|ZXa+zlnXT&t~B6OPd+ zhhhiEGRI+DjElUfdJ8ne!9HkT*G!L}o3>yXgB#*89$N-CjI(qs)s+Fm z8%9-@CGt^JhntF(TFu!P{|t6R%X^X>wBHc16Kn!ALqP2wD3ep;QnhA-To)4x^rArk zG(inbbV$5ADoAe2QyFs_gwV+ZKDs9`NgmtgNac0}Xp9 z#--#!Y0N`iO8Ww4eOXQ~p>aa;s$E>}+ueCAS#uinaANBeY@0fH9pBmSai>kWSmZ`a zvbxt*A!FLTY`=C_K8yM-l`=tCrxlrmmzeI*$@P4SLk4f&r`_}g0nB(fQ`p@fCScI< zK|j-s8XU4o-pp0&JqiO>>UEPcxoG4~Q_Zw6{gj&9K)MB^AB3ME4mTWPc$*|101bjT zg$@Bh$eroRm3K&M7DT5PbR!2e5TaW8_B26A5-+(rPFKFgSrBr8>tENm?0CeQ0eHXhejIkCfsG(sYP_a!q=@ox+c3WfBk_;xFr;CI>KcGku5W zKvKRYL)5|CdiQ~>XeLDbrkEittN{_lWIvD5jU(tVBJ8tM#`4sX*DdprsgQKw)?Okn z2c-iWE_$Fj5#AFWMx9DtM8sqcDlNFtbPf-g7cokU#ZnID^pbcb-Q9zbsvx%fYmcPh z0>=)z@W~&A+Z%+W1>@<|;e`DAo77;Dt^Bu;8Z67y*FS1{M3wt5=@On`ZqIv+irzp2 zBaX*;UaXX!pu9QP<5NAqN(f%M1QR{);+YPI++}$cFQkrg)9lc&aou!aniRc|TxuMBFsh4VW1*ju-J*D(3?Yj@U3g*eJk=2EPGg zBPM0q2B--f;o}F`eQI!oJ@Khb0*#G$b@T8RG7Oj(fu;F*C;a*dhqjmDd{HI^_``wW z64!6-`{t(O<6%%=j{TzYoV0*R66zIkU-}W^FlO&o^4BUP?|RiC?#@h!th!o37%^4i zr43n_$B&vn2NuiDImm8rp53ff66fEhbI4 zS7h5TbDQ<~Nc>bxk+3`Z24NK#QiRFXMOI+hHVph4kCVl!{h_3Tr(#v9(CGq~BKRAL z@NKrN=1HWZOfc1f3AoRG+z^EVjg(l#6Yq~V0jEc&8SarTYjp+iz?}q|EK%<4`XBl&z>XFUiHjgwH&r6EII#YMSc+wgFS?zpuM9VjgSXULg;d(siR!RvM+~_9W{>VezCYnHB#bOjBBG|65kx&hkHwtBtD(h4G|l=l5@vK z_O*|Ipyo%E;;CeM#7F00q%ONR*WbPR`t=`Cld1s{m+jYLmMRHn)i7)nRP(6HzzkT- z&fArSAEb9Wjo=`E#sbH5h*x*kPZ~aMz<`MNs&tZM zJ~>-6BJA397i~ux_rFF({PxmW*fx*uzU6Rg!_xR;CK%EMJqePBG&RC%wA=7EGBRRT zWFkT}HR8mjQ}4s59^Nb-A?&H45i=`e~CHd`zQ8-0(QPwGAfRB&;X?qXron201>;*HIm zh>=qoQc1$Bh%|4Bs(}VY*j4Gvrf*fCIT3cR2OE3l51*2EUeh8LSTQ1!W%V0);kbbQ z+19LxdL#6`Yt;;gh(<-&{UB`A8D3Ugjfv>Mz8+GZ8Dk^PCzDhzpHgXc#s11~I3p5j zb{pa{6L9&0{?Yx+Pmq82r91(Ls)ym;>p%M+6tctldM(fHseq`)N`wPk2PNFn%-1h6 zMPesKW8i=h5*K38_nIP+F2@Co%6)6^SFwa5i@L4np6JA29MbR9(jw5xD2Yqe6bUGr zB(a={-&12GT6Wj^c9ZUnLn57N@y%My18&SGA4r9Md0u08z0V>d_uTuA9$uy~hBkEr zfIG748ur?{?21%+7eu7sMp@ymty#Vq~Ehhj|j`k|LKa6%!>c`Ape}+;Rtdse}9-V5qN4EK%aDF%kz!HIVKa%3>6&G*{*!8wqlr>vE*DZxq?r+Koy8JLj=3!MWl#|pMf^nmmWZ5l z$$WvEKGYG**LE#-|Dt9`gCSfqa2QG3C3QE*W|7fch*$q}edF*u`|ouOZF1J!<2w29 zIR+_a^)OGdM0ThUjwmLxhqzQH zj$=T-;|y$+`Rj^Y!T;@dI^s8}yD`hB`M9 z?@tYfICfrs8Ryddhn;PW9C?H`)|h#{@XfW{KVeu;jt@&$uIIm1Uzn3MGD3XX1M=9} z%WtRVsKU_jP4zD#;FuZl&aYuq(BrYlErvy;dCdUA2t{+_(tH0jCgSv^t+O9qfH|a; znQ=>Q3P`OAir6;FYFd+l$7{`ppzee%PS7(Fber= zfP~}d%wVN5s$@KiVW;bnw~6x_9AW2`ODTk%Dj{4D8{MLVLBM3S%BxpRkZ}H~L+2BJ zfNhFKNz?!n`LrR|`Q(%Bc;#0t9lC92my(7KQ6`H;R~YJEP4|7XtU-9B$%Sl?HCm$X zGlD70nS1rmldt5QOsCejF%or~r(E}8ehrr>c701iO_w;fL@l^xOZ;Dd4-+NZ?j=ao z)NBb?Ykc@k?Kr!SLG`Zu6ei{=j!U4Vf(~5brIk4zE)g(XVmr~-!_W-)+EqKh{u9zb z2BZi-Jb+R8v(Y<;2@{h-!nYbPVL$z6yH?#;Uq{6)gC?v*#hi@#Z-N909_k4WQW+jg ziJc6hzp*sR7pkhLEKg>0nVuBC{U{#Guh*x)NVBONt_Z3XvRyQ6qTUGZ!rWeg?RbX7 z{{ch9?jAluD$Rg2;dY#^W>Q4Qe2HZ)O<5Q)v5Y0atPvCceEuA4)P&cbzuoL(A`Aw9 zJJ;n09HO86-`DRC@z`nPgq_Jh**~w*co=*GVDOo)#K&P&L0I|rCCs3hSD1*JE?XC7 zH>e{FhWvZ3*Og#+Y*{;AjpyF+r70A3!gPaN#H*LQgoPyg4~Q^3Mhb?eQOxR{AP}Ga4w1?3Q3VVh>+G*uVc5Y*^_l8#~ip;JxnRGZ%CGwQ>7#aV} zrI^$c69XY-3dp%qNVm%OV&7hBNaFD$JbRi$5xY8k`J7=l7du`dG|E7VkBb}_(13{) z?gjMa0t4hTlu$X-D3*(~{UC0GgA*WmxSdG@YmKBxGD&tBa)V-!ZGFy@W>fsbJ1`9u zq8FX3nh_-geUwo{DZ)Vyw)R9%Lg8x;g|r;glu4GvK1!jX6qjNE%>$-VoGgp{ zKz<}=Yp)+5f}?R1j-&%4w*YoPiN6eZ{YC9UX#CL(qnKgS%_s`1&{pmi|A6h-@JP~L z>98JhE)1i%fv>|8q=esM=DV8=N%viyXSvvkBK#Ca3ieoqxFbgoc-GA2_fj0-p6g}N z3@DwqO2)8J38*U^$EwQk2|GCo`SrSE-Mzz~YPRAxSZ+0cVt)ivrz`PuLDgcIauw{A z^*Vk?`FO6X-LJ?LyInt^#E>C50DT89zXNA@%S?{!2xnL&}Yi=mc&|Axt;^xmmLW;AKN z^U@$t<0gt-Ebrv{J3W*9Gp0@KxkduMDTzi-q*>aAESNg+-mJh5W;p1C0=|dy;RS{R z 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�+i@bz!DsOq+CgD% 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 z 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

y_~xb0=8w@blwzt#MH9`}7eD4!1oKjd7Y> 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ƺDCEMtW0_l(^%rG1$E|>F^MG+ba_z82aRV#K$!t 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 literal 0 HcmV?d00001 diff --git a/test/python/builder/test_lfm2_audio.py b/test/python/builder/test_lfm2_audio.py new file mode 100644 index 0000000000..b27b40b056 --- /dev/null +++ b/test/python/builder/test_lfm2_audio.py @@ -0,0 +1,179 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License + +"""Unit tests for the LFM2-Audio model builder wiring. + +LFM2-Audio checkpoints (LFM2-Audio-1.5B, LFM2.5-Audio-1.5B) have no transformers model class: their +config.json nests the LFM2 decoder config under "lfm" and the checkpoint stores the decoder weights +under the "lfm." prefix next to the audio encoder, depthformer and audio embeddings. The builder has +to read that nested config, load only the decoder with its logits tied to the token embeddings, and +label the export `lfm2_audio` (a pipeline stage) or `lfm2_audio_text` (a text-only decoder). +""" + +from __future__ import annotations + +import json +import types + +import pytest +from _builder_test_utils import load_builder_module +from test_lfm2_vl import builder_module + +base_module = load_builder_module("base") +lfm2_module = load_builder_module("lfm2") +LFM2AudioModel = lfm2_module.LFM2AudioModel + +torch = pytest.importorskip("torch") +transformers = pytest.importorskip("transformers") +save_file = pytest.importorskip("safetensors.torch").save_file +# `_builder_test_utils` substitutes a stub for transformers when it is missing, which has none of the +# LFM2 classes these tests build a checkpoint from. +pytestmark = pytest.mark.skipif( + not hasattr(transformers, "Lfm2ForCausalLM"), reason="transformers does not provide the LFM2 model classes" +) + +DECODER_CONFIG = { + "architectures": ["Lfm2ForCausalLM"], + "block_auto_adjust_ff_dim": True, + "block_ff_dim": 96, + "block_ffn_dim_multiplier": 1.0, + "block_multiple_of": 16, + "conv_L_cache": 3, + "conv_bias": False, + "hidden_size": 32, + "intermediate_size": 96, + "layer_types": ["conv", "full_attention", "conv", "full_attention"], + "model_type": "lfm2", + "norm_eps": 1e-05, + "num_attention_heads": 4, + "num_hidden_layers": 4, + "num_key_value_heads": 2, + "rope_theta": 1000000, + "vocab_size": 512, +} + + +def _write_checkpoint(path, decoder_weights=None): + """An LFM2-Audio checkpoint directory: nested config.json plus lfm.* and audio tensors.""" + path.mkdir(parents=True, exist_ok=True) + config = { + "architectures": ["Lfm2AudioForConditionalGeneration"], + "codebooks": 8, + "preprocessor": {"sample_rate": 16000, "features": 128, "n_fft": 512}, + "encoder": {"feat_in": 128, "d_model": 512, "n_layers": 17}, + "lfm": DECODER_CONFIG, + "depthformer": {"layers": 6, "dim": 1024, "tie": True}, + } + (path / "config.json").write_text(json.dumps(config)) + + if decoder_weights is None: + torch.manual_seed(0) + model = transformers.Lfm2ForCausalLM(transformers.Lfm2Config(**DECODER_CONFIG)) + decoder_weights = { + "lfm." + name[len("model.") :]: tensor + for name, tensor in model.state_dict().items() + if name.startswith("model.") + } + tensors = dict(decoder_weights) + tensors["conformer.pre_encode.out.weight"] = torch.zeros(4, 4) + tensors["audio_adapter.model.1.weight"] = torch.zeros(32, 8) + tensors["audio_embedding.embedding.weight"] = torch.zeros(16, 32) + tensors["depth_linear.weight"] = torch.zeros(8, 32) + tensors["codebook_offsets"] = torch.arange(8) * 2049 + save_file({name: tensor.contiguous() for name, tensor in tensors.items()}, str(path / "model.safetensors")) + return decoder_weights + + +def test_load_lfm2_audio_config_reads_the_nested_decoder_config(tmp_path): + _write_checkpoint(tmp_path) + + config = lfm2_module.load_lfm2_audio_config(str(tmp_path)) + + assert config.architectures == ["Lfm2AudioForConditionalGeneration"] + assert config._name_or_path == str(tmp_path) + assert config.hidden_size == DECODER_CONFIG["hidden_size"] + assert config.layer_types == DECODER_CONFIG["layer_types"] + assert config.conv_L_cache == DECODER_CONFIG["conv_L_cache"] + assert config.tie_word_embeddings + + +def test_load_lfm2_audio_config_leaves_other_checkpoints_to_autoconfig(tmp_path): + (tmp_path / "config.json").write_text(json.dumps(DECODER_CONFIG)) + assert lfm2_module.load_lfm2_audio_config(str(tmp_path)) is None + assert lfm2_module.load_lfm2_audio_config(str(tmp_path / "missing")) is None + + +def _audio_builder(tmp_path): + model = LFM2AudioModel.__new__(LFM2AudioModel) + model.decoder_config = lfm2_module.load_lfm2_audio_config(str(tmp_path)) + model.quant_type = None + model.cache_dir = str(tmp_path / "cache") + model.hf_token = True + return model + + +def test_lfm2_audio_load_weights_loads_the_decoder_with_tied_logits(tmp_path): + decoder_weights = _write_checkpoint(tmp_path) + + loaded = _audio_builder(tmp_path).load_weights(str(tmp_path)) + + assert type(loaded).__name__ == "Lfm2ForCausalLM" + torch.testing.assert_close( + loaded.model.layers[0].conv.in_proj.weight, decoder_weights["lfm.layers.0.conv.in_proj.weight"] + ) + torch.testing.assert_close(loaded.model.embedding_norm.weight, decoder_weights["lfm.embedding_norm.weight"]) + assert loaded.lm_head.weight.data_ptr() == loaded.model.embed_tokens.weight.data_ptr() + assert not any("conformer" in name or "depth" in name or "audio" in name for name, _ in loaded.named_parameters()) + assert not any(parameter.is_meta for parameter in loaded.parameters()) + + +def test_lfm2_audio_load_weights_rejects_a_checkpoint_missing_decoder_tensors(tmp_path): + torch.manual_seed(0) + model = transformers.Lfm2ForCausalLM(transformers.Lfm2Config(**DECODER_CONFIG)) + decoder_weights = { + "lfm." + name[len("model.") :]: tensor + for name, tensor in model.state_dict().items() + if name.startswith("model.") + } + del decoder_weights["lfm.layers.1.self_attn.q_proj.weight"] + _write_checkpoint(tmp_path, decoder_weights) + + with pytest.raises( + ValueError, match=r"does not match its config: missing .*'model\.layers\.1\.self_attn\.q_proj\.weight'" + ): + _audio_builder(tmp_path).load_weights(str(tmp_path)) + + +@pytest.mark.parametrize("exclude_embeds,expected_type", [(True, "lfm2_audio"), (False, "lfm2_audio_text")]) +def test_lfm2_audio_architecture_labels_the_export(monkeypatch, tmp_path, exclude_embeds, expected_type): + captured = {} + + class FakeLFM2AudioModel: + model_type = "lfm2" + + def __init__(self, *args): + captured["args"] = args + self.exclude_embeds = exclude_embeds + + def make_genai_config(self, *args): + captured["model_type"] = self.model_type + + def save_processing(self, *args): + pass + + config = types.SimpleNamespace(architectures=["Lfm2AudioForConditionalGeneration"]) + monkeypatch.setattr(builder_module, "LFM2AudioModel", FakeLFM2AudioModel) + + builder_module.create_model( + "LiquidAI/LFM2.5-Audio-1.5B", + str(tmp_path / "input"), + str(tmp_path / "output"), + "int4", + "cpu", + str(tmp_path / "cache"), + config_only=True, + hf_details={"extra_kwargs": {}, "hf_name": "LiquidAI/LFM2.5-Audio-1.5B", "hf_config": config}, + ) + + assert captured["args"][0] is config + assert captured["model_type"] == expected_type diff --git a/test/python/builder/test_qmoe_weights.py b/test/python/builder/test_qmoe_weights.py index 7e09a01405..d77a36f6f6 100644 --- a/test/python/builder/test_qmoe_weights.py +++ b/test/python/builder/test_qmoe_weights.py @@ -131,6 +131,7 @@ def _load_builder_cli_module(monkeypatch): "GraniteModel", "HunyuanDenseV1Model", "InternLM2Model", + "LFM2AudioModel", "LFM2Model", "LFM2MoEModel", "LlamaModel", @@ -158,6 +159,8 @@ def _load_builder_cli_module(monkeypatch): "WhisperModel", ): setattr(builders_module, class_name, type(class_name, (), {})) + # Not a model class: the LFM2-Audio config reader builder.py calls before the dispatch. + builders_module.load_lfm2_audio_config = lambda *args, **kwargs: None # Submodule imports (e.g. `from quantization import ...`) must resolve to the # real, dependency-free modules rather than the class stubs above. builders_module.__path__ = [str(BUILDERS_DIR)] diff --git a/test/python/create/create_dummy_lfm2_audio_models.py b/test/python/create/create_dummy_lfm2_audio_models.py new file mode 100644 index 0000000000..31321ea825 --- /dev/null +++ b/test/python/create/create_dummy_lfm2_audio_models.py @@ -0,0 +1,223 @@ +#!/usr/bin/env python3 +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License + +""" +Generate tiny ONNX models for LFM2-Audio pipeline testing. + +Writes the three models the lfm2_audio pipeline runs, with the input/output contract of the published +LFM2-Audio / LFM2.5-Audio encoder export (LiquidAI/LFM2.5-Audio-1.5B-ONNX), plus the genai_config.json +that wires them together: + + dummy_speech.onnx mel_spectrogram [N, T, 128], mel_lengths [N] (int64) + -> audio_embeddings [N, ceil(T / 8), hidden], audio_lengths [N] (int64) + Every 8 mel frames are averaged and projected, so the features depend on the + audio and the frame count matches the placeholders the processor writes. + dummy_embedding.onnx input_ids, audio_features -> inputs_embeds + Token lookup with audio_features scattered over the positions holding + AUDIO_TOKEN_ID, the graph the tutorial describes for the real model. + dummy_text.onnx The LFM2 decoder of the LFM2-VL fixture (see create_dummy_lfm2_vl_models.py): + each logit depends on the current token and the two before it through a causal + convolution over past.%d.conv, so generation only matches between runs when the + conv state is carried correctly. + +The tokenizer is checked in separately, and zipped: tokenizer.zip holds tokenizer.json and +tokenizer_config.json from LiquidAI/LFM2.5-Audio-1.5B (LFM2-Audio-1.5B ships the same files), whose +4.8 MB compresses to under 1 MB. test_lfm2_audio_models.py unpacks it into a temporary directory +next to these models. + +Usage: + python create_dummy_lfm2_audio_models.py --output test/models/lfm2-audio +""" + +import argparse +import json +import os +import sys + +import numpy as np +from onnx import TensorProto, helper, numpy_helper + +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +from create_dummy_lfm2_vl_models import ( + CONV_CACHE_SIZE, + HEAD_SIZE, + HIDDEN_SIZE, + LAYER_TYPES, + LOGIT_VOCAB, + NUM_KV_HEADS, + VOCAB_SIZE, + _const, + _save, + create_dummy_decoder_model, +) + +NUM_MELS = 128 +SUBSAMPLING_FACTOR = 8 +# <|reserved_123|>: the placeholder the processor writes once per encoder frame. LFM2-Audio has no +# audio input token of its own, so any single token that never occurs in text will do. +AUDIO_TOKEN_ID = 133 + + +def create_dummy_speech_model(output_path: str, rng: np.random.Generator): + """mel_spectrogram, mel_lengths -> audio_embeddings [N, ceil(T / 8), hidden], audio_lengths""" + inputs = [ + helper.make_tensor_value_info("mel_spectrogram", TensorProto.FLOAT, ["batch_size", "time_steps", NUM_MELS]), + helper.make_tensor_value_info("mel_lengths", TensorProto.INT64, ["batch_size"]), + ] + outputs = [ + helper.make_tensor_value_info( + "audio_embeddings", TensorProto.FLOAT, ["batch_size", "reduced_time", HIDDEN_SIZE] + ), + helper.make_tensor_value_info("audio_lengths", TensorProto.INT64, ["batch_size"]), + ] + projection = numpy_helper.from_array( + (rng.standard_normal((NUM_MELS, HIDDEN_SIZE)) / np.sqrt(NUM_MELS)).astype(np.float32), name="projection" + ) + nodes = [ + _const("subsampling_minus_one", [SUBSAMPLING_FACTOR - 1]), + _const("subsampling", [SUBSAMPLING_FACTOR]), + # [N, T, mels] -> [N, mels, T] so the pool runs over time; ceil_mode keeps the partial last window + helper.make_node("Transpose", ["mel_spectrogram"], ["mel_nct"], perm=[0, 2, 1]), + helper.make_node( + "AveragePool", + ["mel_nct"], + ["pooled_nct"], + kernel_shape=[SUBSAMPLING_FACTOR], + strides=[SUBSAMPLING_FACTOR], + ceil_mode=1, + ), + helper.make_node("Transpose", ["pooled_nct"], ["pooled"], perm=[0, 2, 1]), + helper.make_node("MatMul", ["pooled", "projection"], ["audio_embeddings"]), + # audio_lengths = ceil(mel_lengths / subsampling_factor) + helper.make_node("Add", ["mel_lengths", "subsampling_minus_one"], ["lengths_rounded"]), + helper.make_node("Div", ["lengths_rounded", "subsampling"], ["audio_lengths"]), + ] + _save(helper.make_graph(nodes, "speech", inputs, outputs, initializer=[projection]), output_path) + + +def create_dummy_embedding_model(output_path: str, rng: np.random.Generator): + """input_ids, audio_features -> inputs_embeds, with the audio features scattered over the placeholders""" + inputs = [ + helper.make_tensor_value_info("input_ids", TensorProto.INT64, ["batch_size", "sequence_length"]), + helper.make_tensor_value_info("audio_features", TensorProto.FLOAT, ["num_audio_tokens", HIDDEN_SIZE]), + ] + outputs = [ + helper.make_tensor_value_info( + "inputs_embeds", TensorProto.FLOAT, ["batch_size", "sequence_length", HIDDEN_SIZE] + ) + ] + table = numpy_helper.from_array( + rng.standard_normal((LOGIT_VOCAB, HIDDEN_SIZE)).astype(np.float32), name="embed_table" + ) + nodes = [ + _const("table_rows", [LOGIT_VOCAB]), + _const("audio_token_id", [AUDIO_TOKEN_ID]), + _const("flat_rows", [-1, HIDDEN_SIZE]), + _const("flat", [-1]), + helper.make_node("Mod", ["input_ids", "table_rows"], ["row_ids"]), + helper.make_node("Gather", ["embed_table", "row_ids"], ["text_embeds"], axis=0), + # Positions of the placeholders in the flattened [batch * sequence] token stream, in order, + # receive the audio features row by row. + helper.make_node("Shape", ["text_embeds"], ["embeds_shape"]), + helper.make_node("Reshape", ["text_embeds", "flat_rows"], ["flat_embeds"]), + helper.make_node("Reshape", ["input_ids", "flat"], ["flat_ids"]), + helper.make_node("Equal", ["flat_ids", "audio_token_id"], ["is_audio"]), + helper.make_node("NonZero", ["is_audio"], ["audio_positions_t"]), + helper.make_node("Transpose", ["audio_positions_t"], ["audio_positions"], perm=[1, 0]), + helper.make_node("ScatterND", ["flat_embeds", "audio_positions", "audio_features"], ["merged"]), + helper.make_node("Reshape", ["merged", "embeds_shape"], ["inputs_embeds"]), + ] + _save(helper.make_graph(nodes, "embedding", inputs, outputs, initializer=[table]), output_path) + + +def create_genai_config(output_path: str): + session_options = {"log_id": "onnxruntime-genai", "provider_options": []} + config = { + "model": { + "audio_token_id": AUDIO_TOKEN_ID, + "bos_token_id": 1, + "context_length": 4096, + "decoder": { + "session_options": session_options, + "filename": "dummy_text.onnx", + "head_size": HEAD_SIZE, + "hidden_size": HIDDEN_SIZE, + "inputs": { + "inputs_embeds": "inputs_embeds", + "attention_mask": "attention_mask", + "past_key_names": "past_key_values.%d.key", + "past_value_names": "past_key_values.%d.value", + "past_conv_names": "past.%d.conv", + }, + "outputs": { + "logits": "logits", + "present_key_names": "present.%d.key", + "present_value_names": "present.%d.value", + "present_conv_names": "present.%d.conv", + }, + "num_attention_heads": NUM_KV_HEADS, + "num_hidden_layers": len(LAYER_TYPES), + "num_key_value_heads": NUM_KV_HEADS, + "layer_types": LAYER_TYPES, + "conv_cache_size": CONV_CACHE_SIZE, + }, + "eos_token_id": 7, + "pad_token_id": 0, + "type": "lfm2_audio", + "vocab_size": VOCAB_SIZE, + "embedding": { + "session_options": session_options, + "filename": "dummy_embedding.onnx", + "inputs": {"input_ids": "input_ids", "audio_features": "audio_features"}, + "outputs": {"inputs_embeds": "inputs_embeds"}, + }, + "speech": { + "session_options": session_options, + "filename": "dummy_speech.onnx", + "inputs": { + "audio_embeds": "mel_spectrogram", + "audio_lengths": "mel_lengths", + "audio_sizes": "audio_sizes", + }, + "outputs": {"audio_features": "audio_embeddings"}, + }, + }, + "search": { + "diversity_penalty": 0.0, + "do_sample": False, + "early_stopping": True, + "length_penalty": 1.0, + "max_length": 4096, + "min_length": 0, + "no_repeat_ngram_size": 0, + "num_beams": 1, + "num_return_sequences": 1, + "past_present_share_buffer": False, + "repetition_penalty": 1.0, + "temperature": 1.0, + "top_k": 1, + "top_p": 1.0, + }, + } + with open(output_path, "w") as f: + json.dump(config, f, indent=4) + f.write("\n") + + +def main(): + parser = argparse.ArgumentParser(description="Generate tiny ONNX models for LFM2-Audio pipeline testing") + parser.add_argument("--output", type=str, default="test/models/lfm2-audio", help="Output directory") + args = parser.parse_args() + + os.makedirs(args.output, exist_ok=True) + rng = np.random.default_rng(42) + create_dummy_speech_model(os.path.join(args.output, "dummy_speech.onnx"), rng) + create_dummy_embedding_model(os.path.join(args.output, "dummy_embedding.onnx"), rng) + create_dummy_decoder_model(os.path.join(args.output, "dummy_text.onnx"), rng) + create_genai_config(os.path.join(args.output, "genai_config.json")) + print(f"Wrote dummy LFM2-Audio models to {args.output}") + + +if __name__ == "__main__": + main() diff --git a/test/python/models/test_lfm2_audio_models.py b/test/python/models/test_lfm2_audio_models.py new file mode 100644 index 0000000000..e7d63d34a8 --- /dev/null +++ b/test/python/models/test_lfm2_audio_models.py @@ -0,0 +1,542 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License + +""" +Tests for the LFM2-Audio pipeline against the tiny models in test/models/lfm2-audio. + +The models are generated by test/python/create/create_dummy_lfm2_audio_models.py, and the tokenizer +is checked in zipped alongside them, so `_model_path` assembles a runnable model directory in a +temporary directory once per session. The speech model +emits one feature per 8 mel frames, the embedding model scatters those features over the placeholders +the processor writes, and the decoder's logits depend on the conv state, so generation only succeeds, +and only matches between runs, when the processor, the speech/embedding hand-off and the conv state +cache agree. + +Run with: + python -m pytest test/python/models/test_lfm2_audio_models.py --test_models test/models +""" + +from __future__ import annotations + +import json +import math +import os +import shutil +import tempfile +import wave +import zipfile +from pathlib import Path + +import numpy as np +import onnxruntime_genai as og +import pytest + +AUDIO_MARKER = "<|audio|>" +AUDIO_TOKEN_ID = 133 # <|reserved_123|>, model.audio_token_id in the fixture's genai_config.json +NUM_MELS = 128 +SAMPLE_RATE = 16000 +FFT_SIZE = 512 +WIN_LENGTH = 400 +HOP_LENGTH = 160 +SUBSAMPLING_FACTOR = 8 +LOG_EPS = 2.0**-24 +NORM_EPS = 1e-5 +# Settings of LiquidAI/LFM2-Audio-1.5B and LFM2.5-Audio-1.5B (config.json "preprocessor"). +PREPROCESSOR_CONFIG = { + "sample_rate": SAMPLE_RATE, + "normalize": "per_feature", + "window_size": 0.025, + "window_stride": 0.01, + "window": "hann", + "features": NUM_MELS, + "n_fft": FFT_SIZE, + "log": True, + "frame_splicing": 1, + "dither": 1.0e-05, + "pad_to": 0, + "pad_value": 0.0, +} + + +# The tokenizer is checked in zipped: its 4.8 MB of vocabulary compresses to under 1 MB, and no test +# reads it as text. Refresh it with, from the model directory, +# python -c "import zipfile; \ +# [zipfile.ZipFile('tokenizer.zip', 'w').writestr(n, open(n, 'rb').read()) for n in NAMES]" +# or take a fresh copy from LiquidAI/LFM2.5-Audio-1.5B. +TOKENIZER_ARCHIVE = "tokenizer.zip" +TOKENIZER_FILES = ("tokenizer.json", "tokenizer_config.json") + +# One assembled directory per source, kept alive (and so undeleted) for the whole session. +_MODEL_DIRECTORIES: dict[str, tempfile.TemporaryDirectory] = {} + + +def _model_path(test_data_path) -> str: + """The fixture model directory, with the tokenizer unpacked, assembled once per session. + + Everything the runtime loads has to sit in one directory, so the ONNX models and the config are + copied next to the unpacked tokenizer rather than the archive being unpacked over the checkout. + """ + source = Path(test_data_path) / "lfm2-audio" + if not (source / "genai_config.json").exists(): + pytest.skip(f"LFM2-Audio test model not found at {source}") + + key = os.fspath(source) + if key not in _MODEL_DIRECTORIES: + holder = tempfile.TemporaryDirectory(prefix="lfm2-audio-") + destination = Path(holder.name) + for item in source.iterdir(): + if item.is_file() and item.name != TOKENIZER_ARCHIVE: + shutil.copy(item, destination) + with zipfile.ZipFile(source / TOKENIZER_ARCHIVE) as archive: + # Named rather than extractall: the archive holds exactly these two files, and naming + # them keeps a stray path in the archive from landing outside the directory. + for name in TOKENIZER_FILES: + (destination / name).write_bytes(archive.read(name)) + _MODEL_DIRECTORIES[key] = holder + return _MODEL_DIRECTORIES[key].name + + +def _copy_model(test_data_path, tmp_path) -> Path: + destination = tmp_path / "lfm2-audio" + shutil.copytree(_model_path(test_data_path), destination) + return destination + + +def _edit_json(path: Path, edit): + config = json.loads(path.read_text()) + edit(config) + path.write_text(json.dumps(config)) + + +def _synthetic_signal(seconds: float, seed: int = 0) -> np.ndarray: + """A few tones plus noise, quantized to 16-bit like the WAV that carries it.""" + rng = np.random.default_rng(seed) + t = np.arange(int(seconds * SAMPLE_RATE)) / SAMPLE_RATE + signal = 0.3 * np.sin(2 * np.pi * 440 * t) + 0.1 * np.sin(2 * np.pi * 3000 * t) + 0.05 * rng.standard_normal(t.size) + return np.round(np.clip(signal, -1, 1) * 32767).astype(np.int16).astype(np.float32) / 32768.0 + + +def _write_wav(path: Path, samples: np.ndarray, sample_rate: int = SAMPLE_RATE, channels: int = 1) -> str: + pcm = np.round(samples * 32768.0).clip(-32768, 32767).astype(" 1: + pcm = np.repeat(pcm[:, None], channels, axis=1) + with wave.open(os.fspath(path), "wb") as handle: + handle.setnchannels(channels) + handle.setsampwidth(2) + handle.setframerate(sample_rate) + handle.writeframes(pcm.tobytes()) + return os.fspath(path) + + +def _num_frames(num_samples: int) -> int: + # torch.stft(center=True): one frame per hop plus one. + return num_samples // HOP_LENGTH + 1 + + +def _num_tokens(num_samples: int) -> int: + return math.ceil(_num_frames(num_samples) / SUBSAMPLING_FACTOR) + + +def _slaney_mel_filterbank() -> np.ndarray: + """librosa.filters.mel(sr, n_fft, n_mels, fmin=0, fmax=sr/2, norm="slaney") without librosa.""" + + def hz_to_mel(hz): + hz = np.asarray(hz, dtype=np.float64) + mel = hz / (200.0 / 3) + log_region = hz >= 1000.0 + mel[log_region] = 15.0 + np.log(hz[log_region] / 1000.0) / (np.log(6.4) / 27.0) + return mel + + def mel_to_hz(mel): + mel = np.asarray(mel, dtype=np.float64) + hz = mel * (200.0 / 3) + log_region = mel >= 15.0 + hz[log_region] = 1000.0 * np.exp((np.log(6.4) / 27.0) * (mel[log_region] - 15.0)) + return hz + + fft_freqs = np.linspace(0, SAMPLE_RATE / 2, FFT_SIZE // 2 + 1) + mel_points = mel_to_hz(np.linspace(hz_to_mel([0.0])[0], hz_to_mel([SAMPLE_RATE / 2])[0], NUM_MELS + 2)) + fdiff = np.diff(mel_points) + ramps = mel_points[:, None] - fft_freqs[None, :] + weights = np.maximum(0, np.minimum(-ramps[:-2] / fdiff[:-1, None], ramps[2:] / fdiff[1:, None])) + weights *= (2.0 / (mel_points[2 : NUM_MELS + 2] - mel_points[:NUM_MELS]))[:, None] + return weights.astype(np.float32) + + +def _reference_mel(samples: np.ndarray) -> np.ndarray: + """NeMo's AudioToMelSpectrogramPreprocessor in eval mode, as liquid-audio ships it, in numpy. + + Pre-emphasis, constant center padding, symmetric Hann window, power spectrum, Slaney mel filter + bank, log with the 2^-24 guard, then per-feature normalization over the num_samples // hop + frames get_seq_len counts as valid, with the frames past that zeroed. + """ + preemphasized = np.concatenate([samples[:1], samples[1:] - 0.97 * samples[:-1]]) + padded = np.pad(preemphasized, FFT_SIZE // 2) + num_frames = _num_frames(len(samples)) + window = np.zeros(FFT_SIZE, np.float64) + window[(FFT_SIZE - WIN_LENGTH) // 2 :][:WIN_LENGTH] = 0.5 * ( + 1 - np.cos(2 * np.pi * np.arange(WIN_LENGTH) / (WIN_LENGTH - 1)) + ) + frames = np.stack([padded[t * HOP_LENGTH : t * HOP_LENGTH + FFT_SIZE] * window for t in range(num_frames)]) + power = np.abs(np.fft.rfft(frames, axis=1)) ** 2 + log_mel = np.log(power @ _slaney_mel_filterbank().T.astype(np.float64) + LOG_EPS) + + valid = len(samples) // HOP_LENGTH + mean = log_mel[:valid].mean(axis=0) + std = np.sqrt(((log_mel[:valid] - mean) ** 2).sum(axis=0) / (valid - 1)) + NORM_EPS + normalized = (log_mel - mean) / std + normalized[valid:] = 0.0 + return normalized.astype(np.float32) + + +def _process(model_path: str, prompt: str, audios): + model = og.Model(model_path) + inputs = model.create_multimodal_processor()(prompt, audios=audios) + return model, inputs + + +def _placeholder_runs(input_ids: np.ndarray) -> list[int]: + """Lengths of the consecutive AUDIO_TOKEN_ID runs, in order.""" + runs = [] + run = 0 + for token in input_ids: + if token == AUDIO_TOKEN_ID: + run += 1 + elif run: + runs.append(run) + run = 0 + if run: + runs.append(run) + return runs + + +def test_lfm2_audio_processor_single_clip(test_data_path, tmp_path): + samples = _synthetic_signal(1.3) + clip = _write_wav(tmp_path / "clip.wav", samples) + prompt = f"<|startoftext|><|im_start|>user\n{AUDIO_MARKER}<|im_end|>\n<|im_start|>assistant\n" + model, inputs = _process(_model_path(test_data_path), prompt, og.Audios.open(clip)) + tokenizer = og.Tokenizer(model) + + # Same token stream as liquid-audio's ChatState: the text on either side of the clip is tokenized + # on its own and one placeholder per encoder frame sits between. + num_frames = _num_frames(len(samples)) + expected_ids = ( + tokenizer.encode("<|startoftext|><|im_start|>user\n").tolist() + + [AUDIO_TOKEN_ID] * _num_tokens(len(samples)) + + tokenizer.encode("<|im_end|>\n<|im_start|>assistant\n").tolist() + ) + input_ids = inputs["input_ids"].as_numpy() + assert input_ids.shape == (1, len(expected_ids)) + assert input_ids[0].tolist() == expected_ids + + mel = inputs["audio_embeds"].as_numpy() + assert mel.shape == (1, num_frames, NUM_MELS) + assert mel.dtype == np.float32 + np.testing.assert_array_equal(inputs["audio_lengths"].as_numpy(), [num_frames]) + np.testing.assert_array_equal(inputs["audio_sizes"].as_numpy(), [_num_tokens(len(samples))]) + + +def test_lfm2_audio_processor_text_only(test_data_path): + _, inputs = _process(_model_path(test_data_path), "<|startoftext|>Just text.", None) + assert AUDIO_TOKEN_ID not in inputs["input_ids"].as_numpy() + np.testing.assert_array_equal(inputs["audio_sizes"].as_numpy(), [0]) + with pytest.raises(RuntimeError, match="audio_embeds"): + inputs["audio_embeds"] + + +def test_lfm2_audio_processor_two_clips_of_different_lengths(test_data_path, tmp_path): + short = _synthetic_signal(0.5, seed=1) + long = _synthetic_signal(1.7, seed=2) + clips = [_write_wav(tmp_path / "short.wav", short), _write_wav(tmp_path / "long.wav", long)] + prompt = f"First {AUDIO_MARKER} then {AUDIO_MARKER} done" + _, inputs = _process(_model_path(test_data_path), prompt, og.Audios.open(*clips)) + + # Clips are zero-padded into one batch for a single encoder run, each with its real length, in + # prompt order; the placeholders follow the same order. + assert _placeholder_runs(inputs["input_ids"].as_numpy()[0]) == [_num_tokens(len(short)), _num_tokens(len(long))] + mel = inputs["audio_embeds"].as_numpy() + assert mel.shape == (2, _num_frames(len(long)), NUM_MELS) + np.testing.assert_array_equal(inputs["audio_lengths"].as_numpy(), [_num_frames(len(short)), _num_frames(len(long))]) + np.testing.assert_array_equal(inputs["audio_sizes"].as_numpy(), [_num_tokens(len(short)), _num_tokens(len(long))]) + assert np.all(mel[0, _num_frames(len(short)) :] == 0) + np.testing.assert_allclose(mel[0, : _num_frames(len(short))], _reference_mel(short), atol=2e-3) + np.testing.assert_allclose(mel[1], _reference_mel(long), atol=2e-3) + + +@pytest.mark.parametrize( + "prompt,num_clips,expected", + [ + ("No marker here", 1, "contains 0 <|audio|> markers but 1 audio clips"), + (f"{AUDIO_MARKER} twice {AUDIO_MARKER}", 1, "contains 2 <|audio|> markers but 1 audio clips"), + (f"marker without a clip {AUDIO_MARKER}", 0, "contains 1 <|audio|> markers but 0 audio clips"), + ], +) +def test_lfm2_audio_rejects_marker_count_mismatch(test_data_path, tmp_path, prompt, num_clips, expected): + clips = [_write_wav(tmp_path / f"{i}.wav", _synthetic_signal(0.4, seed=i)) for i in range(num_clips)] + audios = og.Audios.open(*clips) if clips else None + with pytest.raises(RuntimeError, match=expected): + _process(_model_path(test_data_path), prompt, audios) + + +def test_lfm2_audio_rejects_a_clip_too_short_to_normalize(test_data_path, tmp_path): + # Per-feature normalization needs two valid frames (num_samples // hop >= 2). + clip = _write_wav(tmp_path / "blip.wav", _synthetic_signal(0.015)) + with pytest.raises(RuntimeError, match="too short"): + _process(_model_path(test_data_path), AUDIO_MARKER, og.Audios.open(clip)) + + +def test_lfm2_audio_single_prompt_list_matches_the_string_form(test_data_path, tmp_path): + clip = _write_wav(tmp_path / "clip.wav", _synthetic_signal(0.6)) + model = og.Model(_model_path(test_data_path)) + processor = model.create_multimodal_processor() + prompt = f"Transcribe {AUDIO_MARKER}" + from_string = processor(prompt, audios=og.Audios.open(clip)) + from_list = processor([prompt], audios=og.Audios.open(clip)) + np.testing.assert_array_equal(from_list["input_ids"].as_numpy(), from_string["input_ids"].as_numpy()) + np.testing.assert_array_equal(from_list["audio_embeds"].as_numpy(), from_string["audio_embeds"].as_numpy()) + + +def test_lfm2_audio_rejects_batched_prompts(test_data_path): + model = og.Model(_model_path(test_data_path)) + with pytest.raises(RuntimeError, match="batched prompts are not supported"): + model.create_multimodal_processor()(["one", "two"], audios=None) + + +def test_lfm2_audio_mel_matches_reference(test_data_path, tmp_path): + samples = _synthetic_signal(2.0, seed=3) + clip = _write_wav(tmp_path / "clip.wav", samples) + _, inputs = _process(_model_path(test_data_path), AUDIO_MARKER, og.Audios.open(clip)) + mel = inputs["audio_embeds"].as_numpy()[0] + + reference = _reference_mel(samples) + assert mel.shape == reference.shape + np.testing.assert_allclose(mel, reference, atol=2e-3) + # NeMo counts one frame fewer than the STFT produces; that last frame is zeroed but still fed. + assert np.all(mel[-1] == 0) + assert np.any(mel[-2] != 0) + + +def test_lfm2_audio_downmixes_stereo_to_mono(test_data_path, tmp_path): + samples = _synthetic_signal(0.8, seed=4) + mono = _write_wav(tmp_path / "mono.wav", samples) + stereo = _write_wav(tmp_path / "stereo.wav", samples, channels=2) + model_path = _model_path(test_data_path) + _, from_mono = _process(model_path, AUDIO_MARKER, og.Audios.open(mono)) + _, from_stereo = _process(model_path, AUDIO_MARKER, og.Audios.open(stereo)) + np.testing.assert_allclose(from_stereo["audio_embeds"].as_numpy(), from_mono["audio_embeds"].as_numpy(), atol=1e-4) + + +def test_lfm2_audio_mel_matches_liquid_audio(test_data_path, tmp_path): + """The reference implementation itself, when the liquid-audio package is installed.""" + torch = pytest.importorskip("torch") + processor_module = pytest.importorskip("liquid_audio.model.conformer.processor") + reference_processor = processor_module.AudioToMelSpectrogramPreprocessor(**PREPROCESSOR_CONFIG).eval() + + samples = _synthetic_signal(1.5, seed=5) + clip = _write_wav(tmp_path / "clip.wav", samples) + _, inputs = _process(_model_path(test_data_path), AUDIO_MARKER, og.Audios.open(clip)) + mel = inputs["audio_embeds"].as_numpy()[0] + + with torch.no_grad(): + wave_tensor = torch.from_numpy(samples)[None, :] + reference, _ = reference_processor(wave_tensor, torch.tensor([wave_tensor.shape[1]])) + np.testing.assert_allclose(mel, reference[0].T.numpy(), atol=2e-3) + + +def test_lfm2_audio_casts_mel_to_the_speech_input_type(test_data_path, tmp_path): + onnx = pytest.importorskip("onnx") + model_path = _copy_model(test_data_path, tmp_path) + speech_path = model_path / "dummy_speech.onnx" + speech = onnx.load(speech_path) + # Take mel_spectrogram as float16 and cast it back to float32 for the rest of the graph. + speech.graph.input[0].type.tensor_type.elem_type = onnx.TensorProto.FLOAT16 + for node in speech.graph.node: + node.input[:] = ["mel_spectrogram_fp16" if name == "mel_spectrogram" else name for name in node.input] + speech.graph.node.insert( + 0, onnx.helper.make_node("Cast", ["mel_spectrogram"], ["mel_spectrogram_fp16"], to=onnx.TensorProto.FLOAT) + ) + onnx.save(speech, speech_path) + + samples = _synthetic_signal(0.7, seed=6) + clip = _write_wav(tmp_path / "clip.wav", samples) + _, inputs = _process(os.fspath(model_path), AUDIO_MARKER, og.Audios.open(clip)) + mel = inputs["audio_embeds"].as_numpy() + assert mel.dtype == np.float16 + np.testing.assert_allclose(mel[0].astype(np.float32), _reference_mel(samples), atol=2e-2) + + # And the fp16 features still flow through generation. + generator, _ = _generate(os.fspath(model_path), AUDIO_MARKER, og.Audios.open(clip), num_tokens=2) + assert len(generator.get_sequence(0)) == mel.shape[1] // SUBSAMPLING_FACTOR + 1 + 2 + + +@pytest.mark.parametrize("field", ["audio_embeds", "audio_lengths"]) +def test_lfm2_audio_rejects_speech_input_name_missing_from_the_graph(test_data_path, tmp_path, field): + model_path = _copy_model(test_data_path, tmp_path) + _edit_json( + model_path / "genai_config.json", lambda config: config["model"]["speech"]["inputs"].update({field: "nope"}) + ) + with pytest.raises(RuntimeError, match=f'no input named "nope".*model.speech.inputs.{field}'): + og.Model(os.fspath(model_path)).create_multimodal_processor() + + +def test_lfm2_audio_rejects_non_int64_lengths(test_data_path, tmp_path): + onnx = pytest.importorskip("onnx") + model_path = _copy_model(test_data_path, tmp_path) + speech_path = model_path / "dummy_speech.onnx" + speech = onnx.load(speech_path) + # Take mel_lengths as int32 and widen it for the rest of the graph. + speech.graph.input[1].type.tensor_type.elem_type = onnx.TensorProto.INT32 + for node in speech.graph.node: + node.input[:] = ["mel_lengths_i64" if name == "mel_lengths" else name for name in node.input] + speech.graph.node.insert( + 0, onnx.helper.make_node("Cast", ["mel_lengths"], ["mel_lengths_i64"], to=onnx.TensorProto.INT64) + ) + onnx.save(speech, speech_path) + with pytest.raises(RuntimeError, match='"mel_lengths" must be int64, got int32'): + og.Model(os.fspath(model_path)).create_multimodal_processor() + + +def test_lfm2_audio_requires_audio_token_id(test_data_path, tmp_path): + model_path = _copy_model(test_data_path, tmp_path) + _edit_json(model_path / "genai_config.json", lambda config: config["model"].pop("audio_token_id")) + with pytest.raises(RuntimeError, match="audio_token_id must be set"): + og.Model(os.fspath(model_path)).create_multimodal_processor() + + +def _generate(model_path: str, prompt: str, audios, num_tokens: int, chunk_size: int | None = None): + model = og.Model(model_path) + processor = model.create_multimodal_processor() + params = og.GeneratorParams(model) + options = {"do_sample": False, "max_length": 4096} + if chunk_size is not None: + options["chunk_size"] = chunk_size + params.set_search_options(**options) + + inputs = processor(prompt, audios=audios) + generator = og.Generator(model, params) + generator.set_inputs(inputs) + for _ in range(num_tokens): + generator.generate_next_token() + return generator, inputs + + +def _reference_generation(model_path: str, inputs, num_tokens: int) -> np.ndarray: + """Greedy generation replayed with plain ONNX Runtime. + + Runs the speech model once per clip on that clip's own frames — the padding never reaches the + encoder, which is what the runtime does and what the published encoder export requires — then + scatters the concatenated features through the embedding model, and finally one decoder run per + token carrying the KV cache and conv state by hand. + """ + ort = pytest.importorskip("onnxruntime") + config = json.loads((Path(model_path) / "genai_config.json").read_text())["model"] + decoder_config = config["decoder"] + speech = ort.InferenceSession(os.path.join(model_path, config["speech"]["filename"])) + embedding = ort.InferenceSession(os.path.join(model_path, config["embedding"]["filename"])) + decoder = ort.InferenceSession(os.path.join(model_path, decoder_config["filename"])) + output_names = [output.name for output in decoder.get_outputs()] + hidden_size = decoder_config["hidden_size"] + + input_ids = inputs["input_ids"].as_numpy()[0] + tokens_per_clip = inputs["audio_sizes"].as_numpy() + if tokens_per_clip.sum() > 0: + mel = inputs["audio_embeds"].as_numpy() + frames_per_clip = inputs["audio_lengths"].as_numpy() + per_clip = [ + speech.run(None, {"mel_spectrogram": mel[i : i + 1, :frames], "mel_lengths": frames_per_clip[i : i + 1]})[ + 0 + ][0] + for i, frames in enumerate(frames_per_clip) + ] + audio_features = np.concatenate( + [features[:count] for features, count in zip(per_clip, tokens_per_clip, strict=True)] + ) + else: + audio_features = np.zeros((0, hidden_size), np.float32) + + state = {} + for layer, layer_type in enumerate(decoder_config["layer_types"]): + if layer_type == "conv": + state[f"past.{layer}.conv"] = np.zeros((1, hidden_size, decoder_config["conv_cache_size"]), np.float32) + else: + for kind in ("key", "value"): + state[f"past_key_values.{layer}.{kind}"] = np.zeros( + (1, decoder_config["num_key_value_heads"], 0, decoder_config["head_size"]), np.float32 + ) + + sequence = [int(token) for token in input_ids] + step_ids = sequence + for _ in range(num_tokens): + embeds = embedding.run( + None, {"input_ids": np.array([step_ids], dtype=np.int64), "audio_features": audio_features} + )[0] + feeds = {"inputs_embeds": embeds, "attention_mask": np.ones((1, len(sequence)), np.int64), **state} + outputs = dict(zip(output_names, decoder.run(None, feeds), strict=True)) + for name in state: + state[name] = outputs[name.replace("past_key_values.", "present.").replace("past.", "present.")] + next_token = int(outputs["logits"][0, -1].argmax()) + sequence.append(next_token) + step_ids = [next_token] + audio_features = np.zeros((0, hidden_size), np.float32) + return np.array(sequence, dtype=np.int32) + + +@pytest.mark.parametrize( + "num_clips,chunk_size", + [(0, None), (0, 3), (1, None), (1, 3), (1, 10), (2, None), (2, 5)], + ids=["text", "text-chunk3", "audio", "audio-chunk3", "audio-chunk10", "two-clips", "two-clips-chunk5"], +) +def test_lfm2_audio_generation_matches_onnxruntime_reference(test_data_path, tmp_path, num_clips, chunk_size): + # The decoder's logits read the conv state over the last few embeddings, so the prompt ends with + # the audio: the first generated tokens depend on the scattered features, and the runtime only + # matches the hand-carried reference if it passes both the features and the conv state along, + # including across prefill chunk boundaries. The clips run longest first, so the last one is the + # one the mel batch pads: feeding the encoder that padding instead of the clip's own frames + # changes its final feature, and with it the first token generated. + model_path = _model_path(test_data_path) + clips = [_write_wav(tmp_path / f"{i}.wav", _synthetic_signal(1.7 - 0.7 * i, seed=10 + i)) for i in range(num_clips)] + prompt = "<|startoftext|>Transcribe the following. " + " and ".join([AUDIO_MARKER] * num_clips) + num_tokens = 6 + + generator, inputs = _generate(model_path, prompt, og.Audios.open(*clips) if clips else None, num_tokens, chunk_size) + input_ids = inputs["input_ids"].as_numpy()[0] + assert chunk_size is None or len(input_ids) > chunk_size, "the prompt must span several chunks" + + np.testing.assert_array_equal(generator.get_sequence(0), _reference_generation(model_path, inputs, num_tokens)) + + +def test_lfm2_audio_generation_depends_on_the_audio(test_data_path, tmp_path): + model_path = _model_path(test_data_path) + outputs = [] + for seed in (20, 21): + clip = _write_wav(tmp_path / f"{seed}.wav", _synthetic_signal(0.5, seed=seed)) + generator, inputs = _generate(model_path, f"<|startoftext|>{AUDIO_MARKER}", og.Audios.open(clip), num_tokens=4) + outputs.append(generator.get_sequence(0)[len(inputs["input_ids"].as_numpy()[0]) :].tolist()) + assert outputs[0] != outputs[1], "two different clips must not decode to the same tokens" + + +def test_lfm2_audio_features_follow_the_clip_order(test_data_path, tmp_path): + # Two clips of the same length, so a swapped concatenation would still have the right shape. + model_path = _model_path(test_data_path) + clips = [_write_wav(tmp_path / f"{i}.wav", _synthetic_signal(1.0, seed=30 + i)) for i in range(2)] + prompt = "<|startoftext|>Compare {} and {}" + + outputs = [] + for order in (clips, clips[::-1]): + generator, inputs = _generate( + model_path, prompt.format(AUDIO_MARKER, AUDIO_MARKER), og.Audios.open(*order), num_tokens=4 + ) + start = len(inputs["input_ids"].as_numpy()[0]) + outputs.append(generator.get_sequence(0)[start:].tolist()) + assert outputs[0] != outputs[1], "swapping the clips must change what the decoder sees" + + +def test_lfm2_audio_rejects_rewind(test_data_path, tmp_path): + clip = _write_wav(tmp_path / "clip.wav", _synthetic_signal(0.5)) + generator, _ = _generate(_model_path(test_data_path), f"{AUDIO_MARKER}Hi", og.Audios.open(clip), num_tokens=1) + sequence = generator.get_sequence(0).copy() + + # The conv state cannot be rewound; the generator must refuse before touching the sequence. + with pytest.raises(RuntimeError, match="RewindTo is currently not supported for lfm2_audio"): + generator.rewind_to(0) + np.testing.assert_array_equal(generator.get_sequence(0), sequence) diff --git a/test/python/test_onnxruntime_genai_api.py b/test/python/test_onnxruntime_genai_api.py index e2577ddec5..4f0f851f78 100644 --- a/test/python/test_onnxruntime_genai_api.py +++ b/test/python/test_onnxruntime_genai_api.py @@ -979,6 +979,26 @@ def test_whisper_preprocessing_multiple_audios(test_data_path, relative_model_pa _ = processor(prompts, audios=audios) +@pytest.mark.parametrize("opener", ["images", "audios"]) +def test_open_keeps_short_paths_alive(test_data_path, tmp_path, opener): + # The paths are copied into a vector first and only then turned into char pointers: a short + # string keeps its characters inside the string object, so taking the pointer as the vector + # grows leaves the earlier entries pointing at moved-from memory. + source = Path(test_data_path) / ("images/cars.jpg" if opener == "images" else "audios/jfk.flac") + suffix = source.suffix + short_dir = tmp_path / "s" + short_dir.mkdir() + paths = [] + for index in range(4): + path = short_dir / f"{index}{suffix}" + shutil.copy(source, path) + paths.append(os.fspath(path)) + + opened = (og.Images if opener == "images" else og.Audios).open(*paths) + + assert opened is not None + + def test_streaming_asr_create(nemotron_speech_model_path): """Test that Generator + StreamingProcessor can be created from a nemotron_speech model.""" model = og.Model(nemotron_speech_model_path) From c81cbf2fb22ee43807a1456f1cad6c8740a1ab8f Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 18:50:00 -0400 Subject: [PATCH 02/23] fix: address review on LFM2-Audio support, and widen its tests Review fixes: - Apply the LoRA adapter named by `adapter_path` when loading an LFM2-Audio decoder. The override returned before the base loader's adapter step, so the adapter was dropped without a word. The step is now a method the base loader and this one share. - Move the nested-config reader onto the model class and drop the module-level architecture name, per the model-builder rules. - Correct the comments and the tutorial: the clips of one prompt are staged in one padded tensor, but the encoder runs once per clip, on that clip's own frames. Nothing says they share a run any more. - Bind the subscript CodeQL read as a statement with no effect. Wider tests, to match what the vision model has: - A text-only audio export runs through the LFM2 runtime, alongside the vision and MoE cases already covered there. - Frame and token accounting as a standalone arithmetic file, checked against the reference implementation when it is installed, mirroring the vision token tests. - Opening a clip from bytes matches opening it from a path. - Clips above the encoder's rate are resampled down to it. - Every documented front-end override is honoured, including the one that changes how many placeholders a clip is worth. - A clip recorded below the encoder's rate is refused with a message naming the clip and saying to resample it first: the decoder only resamples downwards, which nothing said before. --- examples/python/lfm2-audio-tutorial.md | 28 +-- .../preprocessing/lfm2_audio_processor.cpp | 19 +- src/python/py/models/builder.py | 3 +- src/python/py/models/builders/__init__.py | 3 +- src/python/py/models/builders/base.py | 7 + src/python/py/models/builders/lfm2.py | 49 ++--- test/cpp/lfm2_cache_layer_types_test.cpp | 7 + test/python/builder/test_lfm2_audio.py | 48 ++++- test/python/builder/test_qmoe_weights.py | 4 +- test/python/models/test_lfm2_audio_frames.py | 182 ++++++++++++++++++ test/python/models/test_lfm2_audio_models.py | 87 ++++++++- 11 files changed, 382 insertions(+), 55 deletions(-) create mode 100644 test/python/models/test_lfm2_audio_frames.py diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index edfbc5dbfc..d9f7bf5ba4 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -62,20 +62,25 @@ runs through the normal `AppendTokens` path with no speech or embedding model. The speech encoder is `onnx/audio_encoder.onnx` in [LiquidAI/LFM2.5-Audio-1.5B-ONNX](https://huggingface.co/LiquidAI/LFM2.5-Audio-1.5B-ONNX) (`audio_encoder_fp16.onnx` and `audio_encoder_q4.onnx` are there too). Download the graph together -with every `*.onnx_data*` file next to it. It has the signature ONNX Runtime GenAI expects: +with every `*.onnx_data*` file next to it. It has the signature ONNX Runtime GenAI expects, for a +single clip at a time: | Name | Shape | Type | | --- | --- | --- | -| `mel_spectrogram` (input) | `[num_clips, num_frames, 128]` | float | -| `mel_lengths` (input) | `[num_clips]` | int64 | -| `audio_embeddings` (output) | `[num_clips, ceil(num_frames / 8), hidden_size]` | float | -| `audio_lengths` (output) | `[num_clips]` | int64 | +| `mel_spectrogram` (input) | `[1, num_frames, 128]` | float | +| `mel_lengths` (input) | `[1]` | int64 | +| `audio_embeddings` (output) | `[1, ceil(num_frames / 8), hidden_size]` | float | +| `audio_lengths` (output) | `[1]` | int64 | The encoder subsamples the mel frames by 8 (three stride-2 convolutions) and its adapter projects the -result to the decoder's hidden size, so one output frame covers 80 ms of audio. The `audio_lengths` -output is not read by the runtime — the runtime derives the same counts itself so it can size the -prompt before the encoder runs — but the graph produces it and the input it shares with -`mel_lengths` matters: the encoder masks the padding of a batched run with it. +result to the decoder's hidden size, so one output frame covers 80 ms of audio. `mel_lengths` gives +it the clip's real length; the runtime always passes the clip's own frames, so nothing is padded. +The `audio_lengths` output is not read — the runtime derives the same counts itself, before the +encoder runs, so that it can size the prompt — but the graph produces it. + +The published export only handles one clip per run: its subsampling mask is traced for a batch of +one, and a wider `mel_spectrogram` fails inside the graph. The runtime therefore runs it once per +clip. An encoder exported to take a real batch would work here too, one clip at a time. The embedding model looks up `input_ids` in the decoder's embedding table and scatters `audio_features` into the positions holding the audio placeholder token. Build it from @@ -249,8 +254,9 @@ runtime has nothing to do with. LiquidAI ships `vocoder_depthformer.onnx` and `audio_detokenizer.onnx` in the ONNX repository, and their [onnx-export](https://github.com/Liquid4All/onnx-export) repository drives them from Python. -**One prompt at a time.** Several clips in one prompt work and share a single encoder run, but -batched prompts are refused. +**One prompt at a time.** Several clips in one prompt work, but batched prompts are refused. The +clips do not share an encoder run: the published encoder export is traced for a single clip, so each +one is encoded on its own frames and the results are concatenated in prompt order. **Audio is not chunked.** The whole clip goes through the encoder in one run, and one hour of audio is 450k mel frames, so memory grows with the clip length. The reference implementation has the same diff --git a/src/models/preprocessing/lfm2_audio_processor.cpp b/src/models/preprocessing/lfm2_audio_processor.cpp index c1f5fa9439..bd59c524eb 100644 --- a/src/models/preprocessing/lfm2_audio_processor.cpp +++ b/src/models/preprocessing/lfm2_audio_processor.cpp @@ -244,8 +244,18 @@ std::unique_ptr Lfm2AudioProcessor::Process(const Tokenizer& token int64_t total_tokens = 0; for (size_t i = 0; i < num_clips; ++i) { ort_extensions::OrtxObjectPtr decoded; - CheckResult(OrtxDecodeAudio(audios->audios_.get(), i, static_cast(mel_config_.sample_rate), - /*stereo_to_mono=*/1, decoded.ToBeAssigned())); + // The decoder resamples down to the encoder's rate and mixes to mono, but it cannot upsample: + // say which clip it was and what to do about it, rather than passing its bare message through. + try { + CheckResult(OrtxDecodeAudio(audios->audios_.get(), i, static_cast(mel_config_.sample_rate), + /*stereo_to_mono=*/1, decoded.ToBeAssigned())); + } catch (const std::exception& e) { + throw std::runtime_error("Lfm2AudioProcessor: could not decode audio clip " + std::to_string(i) + " at " + + std::to_string(mel_config_.sample_rate) + + " Hz. A clip recorded below that rate has to be resampled up to it first, as the " + "decoder only resamples downwards. The decoder reported: " + + e.what()); + } ort_extensions::OrtxObjectPtr pcm_tensor; CheckResult(OrtxTensorResultGetAt(decoded.get(), 0, pcm_tensor.ToBeAssigned())); @@ -293,8 +303,9 @@ std::unique_ptr Lfm2AudioProcessor::Process(const Tokenizer& token return named_tensors; } - // Clips share one encoder run as a zero-padded [num_clips, longest, num_mels] batch with their - // real lengths alongside, the same batching the reference applies before its encoder. + // The clips are staged in one zero-padded [num_clips, longest, num_mels] tensor with their real + // lengths alongside. It is a container, not a batched encoder run: Lfm2AudioSpeechState slices + // each clip's own frames back out and runs the encoder on them one clip at a time. const int64_t num_mels = mel_config_.num_mels; auto batch = OrtValue::CreateTensor(allocator, std::vector{static_cast(num_clips), longest, num_mels}); float* batch_data = batch->GetTensorMutableData(); diff --git a/src/python/py/models/builder.py b/src/python/py/models/builder.py index 5e23ad669f..6b2bc0c95d 100644 --- a/src/python/py/models/builder.py +++ b/src/python/py/models/builder.py @@ -31,7 +31,6 @@ LFM2AudioModel, LFM2Model, LFM2MoEModel, - load_lfm2_audio_config, LlamaModel, Mistral3TextModel, MistralModel, @@ -104,7 +103,7 @@ def get_hf_details(model_name, input_path, cache_dir, extra_options): hf_remote = extra_options.get("hf_remote", False) # LFM2-Audio checkpoints have no model_type, so AutoConfig cannot read them: use their nested LFM2 decoder config. - config = load_lfm2_audio_config(hf_name, token=hf_token, **extra_kwargs) + config = LFM2AudioModel.load_config(hf_name, token=hf_token, **extra_kwargs) if config is None: config = AutoConfig.from_pretrained(hf_name, token=hf_token, trust_remote_code=hf_remote, **extra_kwargs) tokenizer = AutoTokenizer.from_pretrained(hf_name, token=hf_token, trust_remote_code=hf_remote, **extra_kwargs) diff --git a/src/python/py/models/builders/__init__.py b/src/python/py/models/builders/__init__.py index 90190f7e3a..b5bf8df3a6 100644 --- a/src/python/py/models/builders/__init__.py +++ b/src/python/py/models/builders/__init__.py @@ -14,7 +14,7 @@ from .granite import GraniteModel, GraniteMoEHybridModel from .hunyuan import HunyuanDenseV1Model from .internlm import InternLM2Model -from .lfm2 import LFM2AudioModel, LFM2Model, LFM2MoEModel, load_lfm2_audio_config +from .lfm2 import LFM2AudioModel, LFM2Model, LFM2MoEModel from .llama import LlamaModel from .mistral import Mistral3TextModel, MistralModel from .mtp import MTPModel @@ -60,7 +60,6 @@ "LFM2AudioModel", "LFM2Model", "LFM2MoEModel", - "load_lfm2_audio_config", "LlamaModel", "MTPModel", "Mistral3TextModel", diff --git a/src/python/py/models/builders/base.py b/src/python/py/models/builders/base.py index 9763ca12c6..26515544df 100644 --- a/src/python/py/models/builders/base.py +++ b/src/python/py/models/builders/base.py @@ -5958,6 +5958,13 @@ def load_weights(self, input_path): **extra_kwargs, ) + return self.load_adapter(model) + + def load_adapter(self, model): + """Wraps a loaded PyTorch model with the LoRA adapter named by `adapter_path`, if any. + + Every `load_weights` override has to end with this, or the adapter is silently dropped. + """ if "adapter_path" in self.extra_options: from peft import PeftModel diff --git a/src/python/py/models/builders/lfm2.py b/src/python/py/models/builders/lfm2.py index 1683bb7b38..cb4a8aaa5d 100644 --- a/src/python/py/models/builders/lfm2.py +++ b/src/python/py/models/builders/lfm2.py @@ -12,8 +12,6 @@ from .base import Model -LFM2_AUDIO_ARCHITECTURE = "Lfm2AudioForConditionalGeneration" - class LFM2Model(Model): def __init__(self, config, io_dtype, onnx_dtype, ep, cache_dir, extra_options): @@ -196,27 +194,6 @@ def update_genai_config(self, genai_config): decoder["conv_cache_size"] = self.conv_L_cache - 1 -def load_lfm2_audio_config(model_name_or_path, **kwargs): - """The LFM2 decoder config of an LFM2-Audio checkpoint (LFM2-Audio-1.5B, LFM2.5-Audio-1.5B). - - These checkpoints have no transformers model class and their config.json nests the decoder - config under "lfm" next to the audio encoder, depthformer and mel front-end settings, so - AutoConfig cannot read them. Returns None if the checkpoint is not an LFM2-Audio one. - """ - from transformers import Lfm2Config, PretrainedConfig - - try: - config_dict, _ = PretrainedConfig.get_config_dict(model_name_or_path, **kwargs) - except Exception: # noqa: BLE001 - not an LFM2-Audio checkpoint (or not readable): AutoConfig reports the real error - return None - if config_dict.get("architectures") != [LFM2_AUDIO_ARCHITECTURE]: - return None - config = Lfm2Config(**config_dict["lfm"]) - config.architectures = [LFM2_AUDIO_ARCHITECTURE] - config._name_or_path = model_name_or_path - return config - - class LFM2AudioModel(LFM2Model): """The LFM2 decoder of an LFM2-Audio checkpoint, exported for text generation. @@ -227,6 +204,30 @@ class LFM2AudioModel(LFM2Model): embeddings; otherwise it is a plain text model. """ + @classmethod + def load_config(cls, model_name_or_path, **kwargs): + """The LFM2 decoder config of an LFM2-Audio checkpoint, or None if it is not one. + + These checkpoints have no model type and no transformers model class, and their config.json + nests the decoder config under "lfm" next to the audio encoder, depthformer and mel front-end + settings, so AutoConfig cannot read them. The builder calls this before it knows which model + class to use, which is why it cannot be an instance method. + """ + from transformers import Lfm2Config, PretrainedConfig + + architecture = "Lfm2AudioForConditionalGeneration" + try: + config_dict, _ = PretrainedConfig.get_config_dict(model_name_or_path, **kwargs) + except Exception: # noqa: BLE001 - not an LFM2-Audio checkpoint, or unreadable: AutoConfig reports the real error + return None + if config_dict.get("architectures") != [architecture]: + return None + + config = Lfm2Config(**config_dict["lfm"]) + config.architectures = [architecture] + config._name_or_path = model_name_or_path + return config + def __init__(self, config, io_dtype, onnx_dtype, ep, cache_dir, extra_options): super().__init__(config, io_dtype, onnx_dtype, ep, cache_dir, extra_options) self.decoder_config = config @@ -249,7 +250,7 @@ def load_weights(self, input_path): f"The LFM2 decoder of {input_path} does not match its config: missing {sorted(missing)}, unexpected {sorted(unexpected)}." ) model.tie_weights() - return model.eval() + return self.load_adapter(model.eval()) def load_lfm2_audio_checkpoint(self, input_path): """The checkpoint tensors, from a local directory or the Hugging Face Hub.""" diff --git a/test/cpp/lfm2_cache_layer_types_test.cpp b/test/cpp/lfm2_cache_layer_types_test.cpp index fb146c6cb4..2491471147 100644 --- a/test/cpp/lfm2_cache_layer_types_test.cpp +++ b/test/cpp/lfm2_cache_layer_types_test.cpp @@ -183,3 +183,10 @@ TEST(LFM2CacheLayerTypesValidationTest, Lfm2VlTextTypeUsesLfm2Runtime) { SkipIfModelUnavailable(); ExpectLfm2Runtime("lfm2_vl_text", "vl_text_type"); } + +// An LFM2-Audio checkpoint exported without exclude_embeds is labeled "lfm2_audio_text": a plain +// LFM2 decoder rather than a stage of the speech pipeline. +TEST(LFM2CacheLayerTypesValidationTest, Lfm2AudioTextTypeUsesLfm2Runtime) { + SkipIfModelUnavailable(); + ExpectLfm2Runtime("lfm2_audio_text", "audio_text_type"); +} diff --git a/test/python/builder/test_lfm2_audio.py b/test/python/builder/test_lfm2_audio.py index b27b40b056..a9c1d115c9 100644 --- a/test/python/builder/test_lfm2_audio.py +++ b/test/python/builder/test_lfm2_audio.py @@ -13,6 +13,7 @@ from __future__ import annotations import json +import sys import types import pytest @@ -84,10 +85,10 @@ def _write_checkpoint(path, decoder_weights=None): return decoder_weights -def test_load_lfm2_audio_config_reads_the_nested_decoder_config(tmp_path): +def test_lfm2_audio_load_config_reads_the_nested_decoder_config(tmp_path): _write_checkpoint(tmp_path) - config = lfm2_module.load_lfm2_audio_config(str(tmp_path)) + config = LFM2AudioModel.load_config(str(tmp_path)) assert config.architectures == ["Lfm2AudioForConditionalGeneration"] assert config._name_or_path == str(tmp_path) @@ -97,18 +98,19 @@ def test_load_lfm2_audio_config_reads_the_nested_decoder_config(tmp_path): assert config.tie_word_embeddings -def test_load_lfm2_audio_config_leaves_other_checkpoints_to_autoconfig(tmp_path): +def test_lfm2_audio_load_config_leaves_other_checkpoints_to_autoconfig(tmp_path): (tmp_path / "config.json").write_text(json.dumps(DECODER_CONFIG)) - assert lfm2_module.load_lfm2_audio_config(str(tmp_path)) is None - assert lfm2_module.load_lfm2_audio_config(str(tmp_path / "missing")) is None + assert LFM2AudioModel.load_config(str(tmp_path)) is None + assert LFM2AudioModel.load_config(str(tmp_path / "missing")) is None -def _audio_builder(tmp_path): +def _audio_builder(tmp_path, extra_options=None): model = LFM2AudioModel.__new__(LFM2AudioModel) - model.decoder_config = lfm2_module.load_lfm2_audio_config(str(tmp_path)) + model.decoder_config = LFM2AudioModel.load_config(str(tmp_path)) model.quant_type = None model.cache_dir = str(tmp_path / "cache") model.hf_token = True + model.extra_options = extra_options or {} return model @@ -144,6 +146,38 @@ def test_lfm2_audio_load_weights_rejects_a_checkpoint_missing_decoder_tensors(tm _audio_builder(tmp_path).load_weights(str(tmp_path)) +def test_lfm2_audio_load_weights_applies_the_lora_adapter(monkeypatch, tmp_path): + # `load_weights` is overridden for these checkpoints, so it has to apply `adapter_path` itself; + # returning the bare decoder would drop the adapter without a word. + _write_checkpoint(tmp_path) + wrapped = [] + + class FakePeftModel: + @classmethod + def from_pretrained(cls, model, adapter_path, **kwargs): + wrapped.append((model, adapter_path, kwargs)) + return "adapted" + + peft = types.ModuleType("peft") + peft.PeftModel = FakePeftModel + monkeypatch.setitem(sys.modules, "peft", peft) + + builder = _audio_builder(tmp_path, {"adapter_path": "some/adapter"}) + loaded = builder.load_weights(str(tmp_path)) + + assert loaded == "adapted" + model, adapter_path, kwargs = wrapped[0] + assert type(model).__name__ == "Lfm2ForCausalLM" + assert adapter_path == "some/adapter" + assert kwargs == {"cache_dir": builder.cache_dir, "token": True} + + +def test_lfm2_audio_load_weights_without_an_adapter_returns_the_decoder(tmp_path): + _write_checkpoint(tmp_path) + loaded = _audio_builder(tmp_path).load_weights(str(tmp_path)) + assert type(loaded).__name__ == "Lfm2ForCausalLM" + + @pytest.mark.parametrize("exclude_embeds,expected_type", [(True, "lfm2_audio"), (False, "lfm2_audio_text")]) def test_lfm2_audio_architecture_labels_the_export(monkeypatch, tmp_path, exclude_embeds, expected_type): captured = {} diff --git a/test/python/builder/test_qmoe_weights.py b/test/python/builder/test_qmoe_weights.py index d77a36f6f6..2f0866fc9b 100644 --- a/test/python/builder/test_qmoe_weights.py +++ b/test/python/builder/test_qmoe_weights.py @@ -159,8 +159,8 @@ def _load_builder_cli_module(monkeypatch): "WhisperModel", ): setattr(builders_module, class_name, type(class_name, (), {})) - # Not a model class: the LFM2-Audio config reader builder.py calls before the dispatch. - builders_module.load_lfm2_audio_config = lambda *args, **kwargs: None + # builder.py calls this before the dispatch, to spot an LFM2-Audio checkpoint. + builders_module.LFM2AudioModel.load_config = lambda *args, **kwargs: None # Submodule imports (e.g. `from quantization import ...`) must resolve to the # real, dependency-free modules rather than the class stubs above. builders_module.__path__ = [str(BUILDERS_DIR)] diff --git a/test/python/models/test_lfm2_audio_frames.py b/test/python/models/test_lfm2_audio_frames.py new file mode 100644 index 0000000000..b9673c0781 --- /dev/null +++ b/test/python/models/test_lfm2_audio_frames.py @@ -0,0 +1,182 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +""" +LFM2-Audio frame and token accounting tests. + +Three pieces have to agree on how many decoder tokens a clip is worth, or the encoder output and the +audio placeholders in the prompt will not line up: + + * NeMo's `AudioToMelSpectrogramPreprocessor`, which the reference implementation wraps: its STFT + decides how many mel frames a clip has, and its `get_seq_len` decides how many of those count as + valid for the per-feature normalization, + * the FastConformer encoder, whose three stride-2 convolutions subsample those frames by 8, + * `Lfm2AudioProcessor` in C++, which writes one placeholder per encoder frame. + +These tests are pure arithmetic reimplementations of all three, so they run without a model or a +built runtime. The real C++ processor is exercised against the tiny test model in +test_lfm2_audio_models.py, and `test_matches_liquid_audio` below checks this arithmetic against the +reference implementation itself whenever it is installed. + +Run with: + python -m pytest test/python/models/test_lfm2_audio_frames.py -v +""" + +import math + +import pytest + +# Defaults from LiquidAI/LFM2.5-Audio-1.5B's config.json ("preprocessor" and "encoder"), shared +# byte for byte by LFM2-Audio-1.5B and LFM2.5-Audio-1.5B-JP. +SAMPLE_RATE = 16000 +WINDOW_SIZE = 0.025 # seconds +WINDOW_STRIDE = 0.01 # seconds +WIN_LENGTH = int(WINDOW_SIZE * SAMPLE_RATE) # 400 +HOP_LENGTH = int(WINDOW_STRIDE * SAMPLE_RATE) # 160 +FFT_SIZE = 512 +NUM_MELS = 128 +# Three stride-2 depthwise convolutions in the encoder's pre-encode stage. +SUBSAMPLING_FACTOR = 8 +# The shortest clip the per-feature normalization can handle: its standard deviation divides by +# (valid frames - 1), so one valid frame is not enough. +MIN_VALID_FRAMES = 2 + + +def num_mel_frames(num_samples: int) -> int: + """Frames out of `torch.stft(..., center=True)`: one per hop, plus one for the centre padding.""" + return num_samples // HOP_LENGTH + 1 + + +def num_valid_mel_frames(num_samples: int) -> int: + """NeMo's `get_seq_len`: the frames the per-feature normalization averages over. + + One fewer than the STFT produces. The extra frame is still handed to the encoder and still + counts towards the decoder tokens; it is just zeroed instead of normalized. + """ + return num_samples // HOP_LENGTH + + +def num_audio_tokens(num_frames: int) -> int: + """Decoder tokens for a clip: one per encoder frame, the tail frame rounded up.""" + return math.ceil(num_frames / SUBSAMPLING_FACTOR) + + +def seconds_to_tokens(seconds: float) -> int: + return num_audio_tokens(num_mel_frames(int(seconds * SAMPLE_RATE))) + + +class TestMelFrames: + @pytest.mark.parametrize( + "num_samples,frames,valid", + [ + (0, 1, 0), # centre padding alone still yields a frame + (1, 1, 0), + (159, 1, 0), + (160, 2, 1), # exactly one hop + (16000, 101, 100), # one second + (16159, 101, 100), # a partial hop is truncated + (16160, 102, 101), + ], + ) + def test_known_lengths(self, num_samples, frames, valid): + assert num_mel_frames(num_samples) == frames + assert num_valid_mel_frames(num_samples) == valid + + @pytest.mark.parametrize("num_samples", [0, 1, 160, 4000, 16000, 44100, 160000]) + def test_valid_frames_are_one_short_of_the_stft(self, num_samples): + # This off-by-one is the whole reason the two counts exist separately: the last frame is + # zeroed by the normalization but still reaches the encoder. + assert num_valid_mel_frames(num_samples) == num_mel_frames(num_samples) - 1 + + def test_one_second_is_one_hundred_hops(self): + assert num_valid_mel_frames(SAMPLE_RATE) == int(1.0 / WINDOW_STRIDE) + + @pytest.mark.parametrize("num_samples", [320, 1000, 16000, 100000]) + def test_frame_count_is_monotonic_in_the_clip_length(self, num_samples): + assert num_mel_frames(num_samples) <= num_mel_frames(num_samples + 1) + assert num_mel_frames(num_samples) < num_mel_frames(num_samples + HOP_LENGTH) + + def test_shortest_normalizable_clip(self): + # Two valid frames need two whole hops; anything shorter the processor rejects. + shortest = MIN_VALID_FRAMES * HOP_LENGTH + assert num_valid_mel_frames(shortest) == MIN_VALID_FRAMES + assert num_valid_mel_frames(shortest - 1) < MIN_VALID_FRAMES + + def test_window_fits_inside_the_fft(self): + # A window longer than the FFT size cannot be centred in it; the processor refuses that. + assert WIN_LENGTH <= FFT_SIZE + assert (FFT_SIZE - WIN_LENGTH) % 2 == 0, "the window is centred, so the padding has to split evenly" + + +class TestAudioTokens: + @pytest.mark.parametrize( + "frames,tokens", + [(0, 0), (1, 1), (8, 1), (9, 2), (16, 2), (101, 13), (126, 16), (1001, 126)], + ) + def test_known_frame_counts(self, frames, tokens): + assert num_audio_tokens(frames) == tokens + + @pytest.mark.parametrize("frames", [1, 7, 8, 9, 63, 64, 65, 1000]) + def test_tail_frames_round_up(self, frames): + # Rounding down would drop the tail of every clip whose length is not a multiple of 8, and + # the placeholders would then outnumber the features. + assert num_audio_tokens(frames) == -(-frames // SUBSAMPLING_FACTOR) + assert num_audio_tokens(frames) * SUBSAMPLING_FACTOR >= frames + + @pytest.mark.parametrize("seconds", [0.1, 0.5, 1.0, 2.5, 10.0, 60.0]) + def test_one_token_per_eighty_milliseconds(self, seconds): + # 8 frames x 10 ms: the figure the tutorial quotes for prompt budgeting. + assert seconds_to_tokens(seconds) == pytest.approx(seconds / 0.08, abs=1) + + def test_one_minute_of_audio(self): + assert seconds_to_tokens(60.0) == 751 + + +class TestPlaceholders: + @pytest.mark.parametrize("clips", [[1.0], [0.5, 1.7], [0.2, 0.2, 0.2]]) + def test_placeholders_match_the_encoder_output(self, clips): + # The processor writes this many placeholders; the speech state concatenates exactly this + # many feature rows. A mismatch is what the scatter in the embedding model would trip over. + per_clip = [seconds_to_tokens(seconds) for seconds in clips] + assert sum(per_clip) == sum(num_audio_tokens(num_mel_frames(int(s * SAMPLE_RATE))) for s in clips) + assert all(count > 0 for count in per_clip) + + def test_padding_a_batch_does_not_change_any_clip(self): + # Clips are staged in one padded tensor, but each is encoded on its own frames, so a clip's + # token count never depends on what it is batched with. + short, long = 0.5, 1.7 + assert seconds_to_tokens(short) == num_audio_tokens(num_mel_frames(int(short * SAMPLE_RATE))) + padded_frames = num_mel_frames(int(long * SAMPLE_RATE)) + assert num_audio_tokens(padded_frames) != seconds_to_tokens(short), "the test lengths must differ" + + +@pytest.mark.parametrize("seconds", [0.25, 1.0, 2.5]) +def test_matches_liquid_audio(seconds): + """The reference implementation itself, when the liquid-audio package is installed.""" + torch = pytest.importorskip("torch") + processor_module = pytest.importorskip("liquid_audio.model.conformer.processor") + + preprocessor = processor_module.AudioToMelSpectrogramPreprocessor( + sample_rate=SAMPLE_RATE, + normalize="per_feature", + window_size=WINDOW_SIZE, + window_stride=WINDOW_STRIDE, + window="hann", + features=NUM_MELS, + n_fft=FFT_SIZE, + log=True, + frame_splicing=1, + dither=1.0e-05, + pad_to=0, + pad_value=0.0, + ).eval() + + num_samples = int(seconds * SAMPLE_RATE) + with torch.no_grad(): + mel, lengths = preprocessor(torch.zeros(1, num_samples), torch.tensor([num_samples])) + + assert mel.shape[1] == NUM_MELS + assert mel.shape[2] == num_mel_frames(num_samples) + assert int(lengths[0]) == num_valid_mel_frames(num_samples) diff --git a/test/python/models/test_lfm2_audio_models.py b/test/python/models/test_lfm2_audio_models.py index e7d63d34a8..4b57a4e84c 100644 --- a/test/python/models/test_lfm2_audio_models.py +++ b/test/python/models/test_lfm2_audio_models.py @@ -241,7 +241,7 @@ def test_lfm2_audio_processor_text_only(test_data_path): assert AUDIO_TOKEN_ID not in inputs["input_ids"].as_numpy() np.testing.assert_array_equal(inputs["audio_sizes"].as_numpy(), [0]) with pytest.raises(RuntimeError, match="audio_embeds"): - inputs["audio_embeds"] + _ = inputs["audio_embeds"] def test_lfm2_audio_processor_two_clips_of_different_lengths(test_data_path, tmp_path): @@ -251,8 +251,8 @@ def test_lfm2_audio_processor_two_clips_of_different_lengths(test_data_path, tmp prompt = f"First {AUDIO_MARKER} then {AUDIO_MARKER} done" _, inputs = _process(_model_path(test_data_path), prompt, og.Audios.open(*clips)) - # Clips are zero-padded into one batch for a single encoder run, each with its real length, in - # prompt order; the placeholders follow the same order. + # Clips are staged as one zero-padded tensor, each with its real length, in prompt order; the + # placeholders follow the same order. The encoder itself runs once per clip on those lengths. assert _placeholder_runs(inputs["input_ids"].as_numpy()[0]) == [_num_tokens(len(short)), _num_tokens(len(long))] mel = inputs["audio_embeds"].as_numpy() assert mel.shape == (2, _num_frames(len(long)), NUM_MELS) @@ -278,6 +278,87 @@ def test_lfm2_audio_rejects_marker_count_mismatch(test_data_path, tmp_path, prom _process(_model_path(test_data_path), prompt, audios) +def test_lfm2_audio_open_bytes_matches_open(test_data_path, tmp_path): + clip = Path(_write_wav(tmp_path / "clip.wav", _synthetic_signal(0.9, seed=7))) + model = og.Model(_model_path(test_data_path)) + processor = model.create_multimodal_processor() + + from_path = processor(AUDIO_MARKER, audios=og.Audios.open(os.fspath(clip))) + from_bytes = processor(AUDIO_MARKER, audios=og.Audios.open_bytes(clip.read_bytes())) + + np.testing.assert_array_equal(from_bytes["input_ids"].as_numpy(), from_path["input_ids"].as_numpy()) + np.testing.assert_array_equal(from_bytes["audio_embeds"].as_numpy(), from_path["audio_embeds"].as_numpy()) + np.testing.assert_array_equal(from_bytes["audio_sizes"].as_numpy(), from_path["audio_sizes"].as_numpy()) + + +@pytest.mark.parametrize("source_rate", [22050, 44100, 48000]) +def test_lfm2_audio_resamples_to_the_encoder_rate(test_data_path, tmp_path, source_rate): + # Whatever the file's rate, the clip reaches the mel front end at the encoder's 16 kHz, so the + # frame count follows the resampled length rather than the original sample count. + seconds = 0.75 + samples = _synthetic_signal(seconds, seed=8)[: int(seconds * source_rate)] + if source_rate > SAMPLE_RATE: # _synthetic_signal only makes 16 kHz worth of samples + samples = np.interp( + np.linspace(0, 1, int(seconds * source_rate)), np.linspace(0, 1, samples.size), samples + ).astype(np.float32) + clip = _write_wav(tmp_path / "clip.wav", samples, sample_rate=source_rate) + + _, inputs = _process(_model_path(test_data_path), AUDIO_MARKER, og.Audios.open(clip)) + + resampled_length = round(samples.size * SAMPLE_RATE / source_rate) + num_frames = int(inputs["audio_lengths"].as_numpy()[0]) + # The resampler may land a sample either side of the exact ratio, so allow one hop of slack. + assert abs(num_frames - _num_frames(resampled_length)) <= 1, f"{num_frames} frames for {resampled_length} samples" + assert inputs["audio_embeds"].as_numpy().shape == (1, num_frames, NUM_MELS) + assert int(inputs["audio_sizes"].as_numpy()[0]) == math.ceil(num_frames / SUBSAMPLING_FACTOR) + + +def test_lfm2_audio_rejects_a_clip_recorded_below_the_encoder_rate(test_data_path, tmp_path): + # The decoder resamples downwards only, so 8 kHz telephone audio cannot be read as 16 kHz. The + # message has to name the clip and say what to do, not just repeat the decoder's complaint. + clip = _write_wav(tmp_path / "telephone.wav", _synthetic_signal(0.5, seed=11)[:4000], sample_rate=8000) + with pytest.raises(RuntimeError, match="could not decode audio clip 0 at 16000 Hz.*resampled up"): + _process(_model_path(test_data_path), AUDIO_MARKER, og.Audios.open(clip)) + + +@pytest.mark.parametrize( + "field,value", + [("hop_length", 320), ("win_length", 320), ("fft_size", 1024), ("num_mels", 64), ("sample_rate", 8000)], +) +def test_lfm2_audio_honors_the_mel_config_overrides(test_data_path, tmp_path, field, value): + # The front end defaults to the published checkpoints' settings, and genai_config.json can + # override each one; a fine-tune that changed them would otherwise be silently mis-framed. + model_path = _copy_model(test_data_path, tmp_path) + _edit_json(model_path / "genai_config.json", lambda config: config["model"].update({field: value})) + samples = _synthetic_signal(1.0, seed=9) + clip = _write_wav(tmp_path / "clip.wav", samples) + + _, inputs = _process(os.fspath(model_path), AUDIO_MARKER, og.Audios.open(clip)) + mel = inputs["audio_embeds"].as_numpy() + + expected_mels = value if field == "num_mels" else NUM_MELS + expected_hop = value if field == "hop_length" else HOP_LENGTH + # A different sample rate resamples the clip instead of changing the framing arithmetic. + expected_samples = len(samples) * value // SAMPLE_RATE if field == "sample_rate" else len(samples) + expected_frames = expected_samples // expected_hop + 1 + + assert mel.shape[2] == expected_mels + assert abs(mel.shape[1] - expected_frames) <= 1, f"{mel.shape[1]} frames, expected about {expected_frames}" + np.testing.assert_array_equal(inputs["audio_lengths"].as_numpy(), [mel.shape[1]]) + + +def test_lfm2_audio_subsampling_factor_override_changes_the_placeholder_count(test_data_path, tmp_path): + model_path = _copy_model(test_data_path, tmp_path) + _edit_json(model_path / "genai_config.json", lambda config: config["model"].update({"subsampling_factor": 4})) + clip = _write_wav(tmp_path / "clip.wav", _synthetic_signal(1.0, seed=10)) + + _, inputs = _process(os.fspath(model_path), AUDIO_MARKER, og.Audios.open(clip)) + + num_frames = int(inputs["audio_lengths"].as_numpy()[0]) + assert int(inputs["audio_sizes"].as_numpy()[0]) == math.ceil(num_frames / 4) + assert _placeholder_runs(inputs["input_ids"].as_numpy()[0]) == [math.ceil(num_frames / 4)] + + def test_lfm2_audio_rejects_a_clip_too_short_to_normalize(test_data_path, tmp_path): # Per-feature normalization needs two valid frames (num_samples // hop >= 2). clip = _write_wav(tmp_path / "blip.wav", _synthetic_signal(0.015)) From b4c1acc106304289aff8a9d36b3ddb62f88b2f22 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 18:55:51 -0400 Subject: [PATCH 03/23] fix: build LFM2-Audio from a model name, not just a local path Passing the checkpoint by name (`-m LiquidAI/LFM2.5-Audio-1.5B`) leaves the input path empty, and the loader handed that empty string to the Hub as a repository name. Only `-i ` worked. Fall back to the name the config was read from, and cover both ways round. Found by exporting every LFM2 audio checkpoint LiquidAI publishes. Noted in the tutorial which of them the published encoder belongs to, since the other two need their own, and that audio below the encoder's rate has to be resampled before it gets here. --- examples/python/lfm2-audio-tutorial.md | 17 ++++++++++- src/python/py/models/builders/lfm2.py | 9 ++++-- test/python/builder/test_lfm2_audio.py | 40 +++++++++++++++++++++++++- 3 files changed, 61 insertions(+), 5 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index d9f7bf5ba4..65d1c76ae8 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -44,6 +44,13 @@ $ python3 -m onnxruntime_genai.models.builder \ --extra_options exclude_embeds=true ``` +`-m LiquidAI/LFM2.5-Audio-1.5B` instead of `-i` works too, and downloads the checkpoint itself. + +The three checkpoints LiquidAI publishes as PyTorch — `LFM2-Audio-1.5B`, `LFM2.5-Audio-1.5B` and +`LFM2.5-Audio-1.5B-JP` — build the same way. Their `"lfm"`, `"encoder"` and `"preprocessor"` settings +are identical, so the front-end defaults below fit all three; only the weights differ. The GGUF +repositories are for llama.cpp and are not inputs to this builder. + The checkpoint has no `model_type` and no transformers model class: its `config.json` nests the LFM2 decoder config under `"lfm"`, next to the speech encoder, depthformer and mel front-end settings, and the checkpoint stores the decoder under the `lfm.` prefix. The builder recognizes @@ -62,7 +69,11 @@ runs through the normal `AppendTokens` path with no speech or embedding model. The speech encoder is `onnx/audio_encoder.onnx` in [LiquidAI/LFM2.5-Audio-1.5B-ONNX](https://huggingface.co/LiquidAI/LFM2.5-Audio-1.5B-ONNX) (`audio_encoder_fp16.onnx` and `audio_encoder_q4.onnx` are there too). Download the graph together -with every `*.onnx_data*` file next to it. It has the signature ONNX Runtime GenAI expects, for a +with every `*.onnx_data*` file next to it. That repository is the export of `LFM2.5-Audio-1.5B`, so +its encoder belongs to that checkpoint only; `LFM2-Audio-1.5B` and `LFM2.5-Audio-1.5B-JP` have their +own encoder weights and need their own export, from `conformer.*` and `audio_adapter.*` in the +checkpoint (`liquid_audio.model.conformer.ConformerEncoder` plus its adapter MLP, traced for one +clip). It has the signature ONNX Runtime GenAI expects, for a single clip at a time: | Name | Shape | Type | @@ -258,6 +269,10 @@ runtime has nothing to do with. LiquidAI ships `vocoder_depthformer.onnx` and clips do not share an encoder run: the published encoder export is traced for a single clip, so each one is encoded on its own frames and the results are concatenated in prompt order. +**Audio below 16 kHz is refused.** The decoder resamples down to the encoder's rate and mixes to +mono, but it does not resample upwards, so 8 kHz telephone audio has to be resampled before it gets +here. The processor says so, naming the clip. + **Audio is not chunked.** The whole clip goes through the encoder in one run, and one hour of audio is 450k mel frames, so memory grows with the clip length. The reference implementation has the same shape; for long-form transcription, split the audio yourself. diff --git a/src/python/py/models/builders/lfm2.py b/src/python/py/models/builders/lfm2.py index cb4a8aaa5d..330e2767f2 100644 --- a/src/python/py/models/builders/lfm2.py +++ b/src/python/py/models/builders/lfm2.py @@ -256,13 +256,16 @@ def load_lfm2_audio_checkpoint(self, input_path): """The checkpoint tensors, from a local directory or the Hugging Face Hub.""" from safetensors.torch import load_file - if os.path.isdir(input_path): - checkpoint_dir = input_path + # `-i` gives a local directory. With `-m` it is empty and the checkpoint is the one the + # config was read from, which is the repository name. + source = input_path or self.model_name_or_path + if os.path.isdir(source): + checkpoint_dir = source else: from huggingface_hub import snapshot_download checkpoint_dir = snapshot_download( - input_path, cache_dir=self.cache_dir, token=self.hf_token, allow_patterns=["*.safetensors", "*.json"] + source, cache_dir=self.cache_dir, token=self.hf_token, allow_patterns=["*.safetensors", "*.json"] ) index_path = os.path.join(checkpoint_dir, "model.safetensors.index.json") diff --git a/test/python/builder/test_lfm2_audio.py b/test/python/builder/test_lfm2_audio.py index a9c1d115c9..1921542dad 100644 --- a/test/python/builder/test_lfm2_audio.py +++ b/test/python/builder/test_lfm2_audio.py @@ -104,13 +104,14 @@ def test_lfm2_audio_load_config_leaves_other_checkpoints_to_autoconfig(tmp_path) assert LFM2AudioModel.load_config(str(tmp_path / "missing")) is None -def _audio_builder(tmp_path, extra_options=None): +def _audio_builder(tmp_path, extra_options=None, model_name_or_path=None): model = LFM2AudioModel.__new__(LFM2AudioModel) model.decoder_config = LFM2AudioModel.load_config(str(tmp_path)) model.quant_type = None model.cache_dir = str(tmp_path / "cache") model.hf_token = True model.extra_options = extra_options or {} + model.model_name_or_path = model_name_or_path or str(tmp_path) return model @@ -146,6 +147,43 @@ def test_lfm2_audio_load_weights_rejects_a_checkpoint_missing_decoder_tensors(tm _audio_builder(tmp_path).load_weights(str(tmp_path)) +def test_lfm2_audio_load_weights_downloads_the_checkpoint_named_by_the_config(monkeypatch, tmp_path): + # `-m ` leaves the input path empty; the checkpoint to fetch is then the one the config + # was read from. Passing the empty path straight to the Hub asks it for a repository called "". + _write_checkpoint(tmp_path) + asked = [] + + def fake_snapshot_download(repo_id, **kwargs): + asked.append((repo_id, kwargs)) + return str(tmp_path) + + hub = types.ModuleType("huggingface_hub") + hub.snapshot_download = fake_snapshot_download + monkeypatch.setitem(sys.modules, "huggingface_hub", hub) + + builder = _audio_builder(tmp_path, model_name_or_path="LiquidAI/LFM2.5-Audio-1.5B") + loaded = builder.load_weights("") + + assert type(loaded).__name__ == "Lfm2ForCausalLM" + assert asked[0][0] == "LiquidAI/LFM2.5-Audio-1.5B" + assert asked[0][1]["cache_dir"] == builder.cache_dir + + +def test_lfm2_audio_load_weights_prefers_a_local_input_path(monkeypatch, tmp_path): + _write_checkpoint(tmp_path) + + def fail(*args, **kwargs): + raise AssertionError("a local checkpoint directory must not be downloaded") + + hub = types.ModuleType("huggingface_hub") + hub.snapshot_download = fail + monkeypatch.setitem(sys.modules, "huggingface_hub", hub) + + loaded = _audio_builder(tmp_path, model_name_or_path="LiquidAI/LFM2.5-Audio-1.5B").load_weights(str(tmp_path)) + + assert type(loaded).__name__ == "Lfm2ForCausalLM" + + def test_lfm2_audio_load_weights_applies_the_lora_adapter(monkeypatch, tmp_path): # `load_weights` is overridden for these checkpoints, so it has to apply `adapter_path` itself; # returning the bare decoder would drop the adapter without a word. From 695d1455c0e68c413f7520bda15c344b45fd2a34 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 21:33:02 -0400 Subject: [PATCH 04/23] refactor: split the audio processor and speech state into named stages Both had grown to a hundred lines covering several unrelated jobs. The processor now decodes a clip, builds the prompt tokens, and stages the audio tensors in three methods named after those jobs; the speech state resolves its bindings, runs one clip, and joins the results in three more. No behaviour changes. Also covers reading a checkpoint that `save_pretrained` split into several files, which an fp32 fine-tune of this model would be. --- src/models/multi_modal.cpp | 138 ++++++++------- src/models/multi_modal.h | 19 ++ .../preprocessing/lfm2_audio_processor.cpp | 162 ++++++++++-------- .../preprocessing/lfm2_audio_processor.h | 18 ++ test/python/builder/test_lfm2_audio.py | 34 +++- 5 files changed, 235 insertions(+), 136 deletions(-) diff --git a/src/models/multi_modal.cpp b/src/models/multi_modal.cpp index 0fcb6abeed..f26d3e6cb4 100644 --- a/src/models/multi_modal.cpp +++ b/src/models/multi_modal.cpp @@ -618,37 +618,25 @@ void Lfm2AudioSpeechState::SetExtraInputs(const std::vector& extra_i } } -DeviceSpan Lfm2AudioSpeechState::Run(int current_length, DeviceSpan& next_tokens, DeviceSpan next_indices) { - if (model_.config_->model.speech.run_options.has_value()) { - State::SetRunOptions(model_.config_->model.speech.run_options.value()); - } - // A single clip fills the whole mel tensor and the whole feature buffer; run it as it stands. - if (tokens_per_clip_.size() <= 1) { - State::Run(*model_.speech_session_); - return {}; - } - - const auto& mel_name = model_.config_->model.speech.inputs.audio_embeds; - const auto& lengths_name = model_.config_->model.speech.inputs.audio_lengths; - const size_t mel_index = FindInput(mel_name); - const size_t lengths_index = FindInput(lengths_name); - const size_t features_index = FindOutput(model_.config_->model.speech.outputs.audio_features); +Lfm2AudioSpeechState::SpeechBindings Lfm2AudioSpeechState::ResolveBindings() const { + SpeechBindings bindings; + bindings.mel_index = FindInput(model_.config_->model.speech.inputs.audio_embeds); + bindings.lengths_index = FindInput(model_.config_->model.speech.inputs.audio_lengths); + bindings.features_index = FindOutput(model_.config_->model.speech.outputs.audio_features); - OrtValue* mel_batch = inputs_[mel_index]; - OrtValue* lengths = inputs_[lengths_index]; - OrtValue* features = outputs_[features_index]; - - const auto mel_info = mel_batch->GetTensorTypeAndShapeInfo(); + const auto mel_info = inputs_[bindings.mel_index]->GetTensorTypeAndShapeInfo(); const auto mel_shape = mel_info->GetShape(); // [num_clips, longest_clip, num_mels] if (mel_shape.size() != 3) { throw std::runtime_error("Lfm2AudioSpeechState: expected a 3D [num_clips, num_frames, num_mels] mel tensor, got rank " + std::to_string(mel_shape.size()) + "."); } - const int64_t num_clips = mel_shape[0]; - const int64_t longest_clip = mel_shape[1]; - const int64_t num_mels = mel_shape[2]; - if (num_clips != static_cast(tokens_per_clip_.size())) { - throw std::runtime_error("Lfm2AudioSpeechState: the mel tensor holds " + std::to_string(num_clips) + + bindings.num_clips = mel_shape[0]; + bindings.longest_clip = mel_shape[1]; + bindings.num_mels = mel_shape[2]; + bindings.mel_type = mel_info->GetElementType(); + + if (bindings.num_clips != static_cast(tokens_per_clip_.size())) { + throw std::runtime_error("Lfm2AudioSpeechState: the mel tensor holds " + std::to_string(bindings.num_clips) + " clips but audio_sizes has " + std::to_string(tokens_per_clip_.size()) + " entries."); } const int64_t total = std::accumulate(tokens_per_clip_.begin(), tokens_per_clip_.end(), int64_t{0}); @@ -657,17 +645,14 @@ DeviceSpan Lfm2AudioSpeechState::Run(int current_length, DeviceSpanGetElementType(); - const size_t mel_element_size = Ort::SizeOf(mel_type); - const auto lengths_info = lengths->GetTensorTypeAndShapeInfo(); - if (static_cast(lengths_info->GetElementCount()) != num_clips) { - throw std::runtime_error("Lfm2AudioSpeechState: the mel tensor holds " + std::to_string(num_clips) + " clips but " + - lengths_name + " has " + std::to_string(lengths_info->GetElementCount()) + " entries."); + const auto lengths_info = inputs_[bindings.lengths_index]->GetTensorTypeAndShapeInfo(); + if (static_cast(lengths_info->GetElementCount()) != bindings.num_clips) { + throw std::runtime_error("Lfm2AudioSpeechState: the mel tensor holds " + std::to_string(bindings.num_clips) + + " clips but " + model_.config_->model.speech.inputs.audio_lengths + " has " + + std::to_string(lengths_info->GetElementCount()) + " entries."); } - const int64_t* frames_per_clip = lengths->GetTensorData(); - const auto features_info = features->GetTensorTypeAndShapeInfo(); - const auto features_type = features_info->GetElementType(); + const auto features_info = outputs_[bindings.features_index]->GetTensorTypeAndShapeInfo(); const auto features_shape = features_info->GetShape(); // [batch, num_audio_tokens, hidden_size] // Several clips are concatenated into one prompt, which the pipeline only ever builds for a single // sequence; a wider feature buffer would need the whole run repeated per beam. @@ -675,49 +660,76 @@ DeviceSpan Lfm2AudioSpeechState::Run(int current_length, DeviceSpan(hidden_size) * Ort::SizeOf(features_type); + bindings.features_type = features_info->GetElementType(); + bindings.hidden_size = features_shape.back(); + return bindings; +} + +std::unique_ptr Lfm2AudioSpeechState::RunClip(const SpeechBindings& bindings, int64_t index, + int64_t num_frames) { + const size_t mel_element_size = Ort::SizeOf(bindings.mel_type); + const size_t clip_stride = static_cast(bindings.longest_clip * bindings.num_mels) * mel_element_size; + const auto* mel_data = static_cast(inputs_[bindings.mel_index]->GetTensorRawData()); + + auto clip_mel = OrtValue::CreateTensor(Ort::Allocator::GetWithDefaultOptions(), + std::vector{1, num_frames, bindings.num_mels}, bindings.mel_type); + std::memcpy(clip_mel->GetTensorMutableRawData(), mel_data + static_cast(index) * clip_stride, + static_cast(num_frames * bindings.num_mels) * mel_element_size); + + auto clip_length = OrtValue::CreateTensor(Ort::Allocator::GetWithDefaultOptions(), std::vector{1}); + clip_length->GetTensorMutableData()[0] = num_frames; + + auto clip_features = OrtValue::CreateTensor( + model_.p_device_->GetAllocator(), + std::vector{1, tokens_per_clip_[static_cast(index)], bindings.hidden_size}, + bindings.features_type); + + OrtValue* mel_batch = inputs_[bindings.mel_index]; + OrtValue* lengths = inputs_[bindings.lengths_index]; + OrtValue* features = outputs_[bindings.features_index]; + inputs_[bindings.mel_index] = clip_mel.get(); + inputs_[bindings.lengths_index] = clip_length.get(); + outputs_[bindings.features_index] = clip_features.get(); + State::Run(*model_.speech_session_); + inputs_[bindings.mel_index] = mel_batch; + inputs_[bindings.lengths_index] = lengths; + outputs_[bindings.features_index] = features; + + return clip_features; +} + +DeviceSpan Lfm2AudioSpeechState::Run(int current_length, DeviceSpan& next_tokens, DeviceSpan next_indices) { + if (model_.config_->model.speech.run_options.has_value()) { + State::SetRunOptions(model_.config_->model.speech.run_options.value()); + } + // A single clip fills the whole mel tensor and the whole feature buffer; run it as it stands. + if (tokens_per_clip_.size() <= 1) { + State::Run(*model_.speech_session_); + return {}; + } - auto features_bytes = ByteWrapTensor(*model_.p_device_, *features); - const auto* mel_data = static_cast(mel_batch->GetTensorRawData()); - const size_t clip_stride = static_cast(longest_clip * num_mels) * mel_element_size; + const SpeechBindings bindings = ResolveBindings(); + const int64_t* frames_per_clip = inputs_[bindings.lengths_index]->GetTensorData(); + auto features_bytes = ByteWrapTensor(*model_.p_device_, *outputs_[bindings.features_index]); + const size_t feature_row_bytes = static_cast(bindings.hidden_size) * Ort::SizeOf(bindings.features_type); size_t destination = 0; // The published encoder export is traced for one clip (its subsampling mask cannot broadcast over // a batch), so run it once per clip on that clip's own frames — which also keeps the padding out // of the encoder entirely — and concatenate the results in clip order. - for (int64_t clip = 0; clip < num_clips; ++clip) { + for (int64_t clip = 0; clip < bindings.num_clips; ++clip) { const int64_t num_frames = frames_per_clip[clip]; - if (num_frames <= 0 || num_frames > longest_clip) { + if (num_frames <= 0 || num_frames > bindings.longest_clip) { throw std::runtime_error("Lfm2AudioSpeechState: clip " + std::to_string(clip) + " reports " + std::to_string(num_frames) + " mel frames, outside the 1.." + - std::to_string(longest_clip) + " the mel tensor holds."); + std::to_string(bindings.longest_clip) + " the mel tensor holds."); } - const std::vector clip_mel_shape{1, num_frames, num_mels}; - auto clip_mel = OrtValue::CreateTensor(Ort::Allocator::GetWithDefaultOptions(), clip_mel_shape, mel_type); - std::memcpy(clip_mel->GetTensorMutableRawData(), mel_data + static_cast(clip) * clip_stride, - static_cast(num_frames * num_mels) * mel_element_size); - - auto clip_length = OrtValue::CreateTensor(Ort::Allocator::GetWithDefaultOptions(), std::vector{1}); - clip_length->GetTensorMutableData()[0] = num_frames; - const int64_t clip_tokens = tokens_per_clip_[static_cast(clip)]; - auto clip_features = OrtValue::CreateTensor(model_.p_device_->GetAllocator(), - std::vector{1, clip_tokens, hidden_size}, features_type); - - inputs_[mel_index] = clip_mel.get(); - inputs_[lengths_index] = clip_length.get(); - outputs_[features_index] = clip_features.get(); - State::Run(*model_.speech_session_); - - const size_t clip_bytes = static_cast(clip_tokens) * feature_row_bytes; + auto clip_features = RunClip(bindings, clip, num_frames); + const size_t clip_bytes = static_cast(tokens_per_clip_[static_cast(clip)]) * feature_row_bytes; features_bytes.subspan(destination, clip_bytes).CopyFrom(ByteWrapTensor(*model_.p_device_, *clip_features)); destination += clip_bytes; } - - inputs_[mel_index] = mel_batch; - inputs_[lengths_index] = lengths; - outputs_[features_index] = features; return {}; } diff --git a/src/models/multi_modal.h b/src/models/multi_modal.h index 5c50dfcb4e..1b6ff60419 100644 --- a/src/models/multi_modal.h +++ b/src/models/multi_modal.h @@ -160,6 +160,25 @@ struct Lfm2AudioSpeechState : SpeechState { DeviceSpan Run(int current_length, DeviceSpan& next_tokens, DeviceSpan next_indices = {}) override; private: + // Where the processor's staged mel tensor and the encoder's feature buffer are bound. + struct SpeechBindings { + size_t mel_index{}; // the [num_clips, longest, num_mels] staging tensor + size_t lengths_index{}; // its per-clip frame counts + size_t features_index{}; // the [1, total_tokens, hidden] buffer the embedding model reads + int64_t num_clips{}; + int64_t longest_clip{}; + int64_t num_mels{}; + int64_t hidden_size{}; + ONNXTensorElementDataType mel_type{}; + ONNXTensorElementDataType features_type{}; + }; + + // Reads the bound shapes and checks them against the per-clip token counts. + SpeechBindings ResolveBindings() const; + + // Runs the encoder on clip `index`'s own frames and returns its features. + std::unique_ptr RunClip(const SpeechBindings& bindings, int64_t index, int64_t num_frames); + size_t FindInput(const std::string& name) const; size_t FindOutput(const std::string& name) const; diff --git a/src/models/preprocessing/lfm2_audio_processor.cpp b/src/models/preprocessing/lfm2_audio_processor.cpp index bd59c524eb..e9e00772d5 100644 --- a/src/models/preprocessing/lfm2_audio_processor.cpp +++ b/src/models/preprocessing/lfm2_audio_processor.cpp @@ -226,61 +226,47 @@ Lfm2AudioProcessor::Lfm2AudioProcessor(Config& config, const SessionInfo& sessio config.AddMapping(std::string(Config::Defaults::AudioSizesName), config.model.speech.inputs.audio_sizes); } -std::unique_ptr Lfm2AudioProcessor::Process(const Tokenizer& tokenizer, const Payload& payload) const { - const std::string prompt = ResolvePrompt(payload); - const Audios* audios = payload.audios; - const size_t num_clips = audios ? audios->num_audios_ : 0; - Ort::Allocator& allocator{Ort::Allocator::GetWithDefaultOptions()}; - auto named_tensors = std::make_unique(); - - // With no clips the prompt must not ask for any; the split with zero clips enforces that. - const std::vector segments = SplitLfm2AudioPrompt(prompt, num_clips); - - // Mel spectrogram per clip, decoded to mono at the encoder's sample rate. - std::vector> mels; - std::vector mel_lengths; - std::vector tokens_per_clip; - int64_t longest = 0; - int64_t total_tokens = 0; - for (size_t i = 0; i < num_clips; ++i) { - ort_extensions::OrtxObjectPtr decoded; - // The decoder resamples down to the encoder's rate and mixes to mono, but it cannot upsample: - // say which clip it was and what to do about it, rather than passing its bare message through. - try { - CheckResult(OrtxDecodeAudio(audios->audios_.get(), i, static_cast(mel_config_.sample_rate), - /*stereo_to_mono=*/1, decoded.ToBeAssigned())); - } catch (const std::exception& e) { - throw std::runtime_error("Lfm2AudioProcessor: could not decode audio clip " + std::to_string(i) + " at " + - std::to_string(mel_config_.sample_rate) + - " Hz. A clip recorded below that rate has to be resampled up to it first, as the " - "decoder only resamples downwards. The decoder reported: " + - e.what()); - } - ort_extensions::OrtxObjectPtr pcm_tensor; - CheckResult(OrtxTensorResultGetAt(decoded.get(), 0, pcm_tensor.ToBeAssigned())); - - const float* pcm{}; - const int64_t* pcm_shape{}; - size_t pcm_dims{}; - CheckResult(OrtxGetTensorData(pcm_tensor.get(), reinterpret_cast(&pcm), &pcm_shape, &pcm_dims)); - int64_t num_samples = 0; - if (pcm_dims == 1) { - num_samples = pcm_shape[0]; - } else if (pcm_dims == 2 && pcm_shape[0] == 1) { - num_samples = pcm_shape[1]; - } else { - throw std::runtime_error("Lfm2AudioProcessor: expected mono PCM from the audio decoder for clip " + - std::to_string(i) + ", got a rank " + std::to_string(pcm_dims) + " tensor."); - } +Lfm2AudioProcessor::ClipMel Lfm2AudioProcessor::ComputeClipMel(const Audios& audios, size_t index) const { + ort_extensions::OrtxObjectPtr decoded; + // The decoder resamples down to the encoder's rate and mixes to mono, but it cannot upsample: + // say which clip it was and what to do about it, rather than passing its bare message through. + try { + CheckResult(OrtxDecodeAudio(audios.audios_.get(), index, static_cast(mel_config_.sample_rate), + /*stereo_to_mono=*/1, decoded.ToBeAssigned())); + } catch (const std::exception& e) { + throw std::runtime_error("Lfm2AudioProcessor: could not decode audio clip " + std::to_string(index) + " at " + + std::to_string(mel_config_.sample_rate) + + " Hz. A clip recorded below that rate has to be resampled up to it first, as the " + "decoder only resamples downwards. The decoder reported: " + + e.what()); + } - int64_t num_frames = 0; - mels.push_back(ComputeLfm2AudioMel(pcm, num_samples, mel_config_, num_frames)); - mel_lengths.push_back(num_frames); - tokens_per_clip.push_back(Lfm2AudioNumTokens(num_frames, subsampling_factor_)); - longest = std::max(longest, num_frames); - total_tokens += tokens_per_clip.back(); + ort_extensions::OrtxObjectPtr pcm_tensor; + CheckResult(OrtxTensorResultGetAt(decoded.get(), 0, pcm_tensor.ToBeAssigned())); + const float* pcm{}; + const int64_t* pcm_shape{}; + size_t pcm_dims{}; + CheckResult(OrtxGetTensorData(pcm_tensor.get(), reinterpret_cast(&pcm), &pcm_shape, &pcm_dims)); + + int64_t num_samples = 0; + if (pcm_dims == 1) { + num_samples = pcm_shape[0]; + } else if (pcm_dims == 2 && pcm_shape[0] == 1) { + num_samples = pcm_shape[1]; + } else { + throw std::runtime_error("Lfm2AudioProcessor: expected mono PCM from the audio decoder for clip " + + std::to_string(index) + ", got a rank " + std::to_string(pcm_dims) + " tensor."); } + ClipMel clip; + clip.mel = ComputeLfm2AudioMel(pcm, num_samples, mel_config_, clip.num_frames); + clip.num_tokens = Lfm2AudioNumTokens(clip.num_frames, subsampling_factor_); + return clip; +} + +std::vector Lfm2AudioProcessor::MakePromptTokens(const Tokenizer& tokenizer, + const std::vector& segments, + const std::vector& clips) const { // Text segments are tokenized on their own, as the reference ChatState does, and each clip // contributes one placeholder per encoder frame between them. std::vector input_ids; @@ -289,42 +275,76 @@ std::unique_ptr Lfm2AudioProcessor::Process(const Tokenizer& token const std::vector ids = tokenizer.Encode(segments[i].c_str()); input_ids.insert(input_ids.end(), ids.begin(), ids.end()); } - if (i < tokens_per_clip.size()) { - input_ids.insert(input_ids.end(), static_cast(tokens_per_clip[i]), audio_token_id_); + if (i < clips.size()) { + input_ids.insert(input_ids.end(), static_cast(clips[i].num_tokens), audio_token_id_); } } - named_tensors->emplace(std::string(Config::Defaults::InputIdsName), - std::make_shared(MakeInputIds(input_ids, allocator))); + return input_ids; +} - if (num_clips == 0) { - // The pipeline reads audio_sizes to skip the speech run. - named_tensors->emplace(std::string(Config::Defaults::AudioSizesName), - std::make_shared(MakeInt64Tensor({0}, {1}, allocator))); - return named_tensors; +void Lfm2AudioProcessor::AddAudioTensors(const std::vector& clips, Ort::Allocator& allocator, + NamedTensors& named_tensors) const { + const int64_t num_clips = static_cast(clips.size()); + const int64_t num_mels = mel_config_.num_mels; + int64_t longest = 0; + std::vector mel_lengths; + std::vector tokens_per_clip; + for (const auto& clip : clips) { + longest = std::max(longest, clip.num_frames); + mel_lengths.push_back(clip.num_frames); + tokens_per_clip.push_back(clip.num_tokens); } // The clips are staged in one zero-padded [num_clips, longest, num_mels] tensor with their real // lengths alongside. It is a container, not a batched encoder run: Lfm2AudioSpeechState slices // each clip's own frames back out and runs the encoder on them one clip at a time. - const int64_t num_mels = mel_config_.num_mels; - auto batch = OrtValue::CreateTensor(allocator, std::vector{static_cast(num_clips), longest, num_mels}); + auto batch = OrtValue::CreateTensor(allocator, std::vector{num_clips, longest, num_mels}); float* batch_data = batch->GetTensorMutableData(); std::fill_n(batch_data, static_cast(num_clips) * static_cast(longest * num_mels), 0.0f); - for (size_t i = 0; i < num_clips; ++i) { - std::copy(mels[i].begin(), mels[i].end(), batch_data + i * static_cast(longest * num_mels)); + for (size_t i = 0; i < clips.size(); ++i) { + std::copy(clips[i].mel.begin(), clips[i].mel.end(), batch_data + i * static_cast(longest * num_mels)); } if (mel_type_ == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT) { - named_tensors->emplace(std::string(Config::Defaults::AudioEmbedsName), std::make_shared(std::move(batch))); + named_tensors.emplace(std::string(Config::Defaults::AudioEmbedsName), std::make_shared(std::move(batch))); } else { std::unique_ptr converted; Cast(*batch, converted, *GetDeviceInterface(DeviceType::CPU), mel_type_); - named_tensors->emplace(std::string(Config::Defaults::AudioEmbedsName), std::make_shared(std::move(converted))); + named_tensors.emplace(std::string(Config::Defaults::AudioEmbedsName), std::make_shared(std::move(converted))); } - named_tensors->emplace(std::string(Config::Defaults::AudioLengthsName), - std::make_shared(MakeInt64Tensor(mel_lengths, {static_cast(num_clips)}, allocator))); - named_tensors->emplace(std::string(Config::Defaults::AudioSizesName), - std::make_shared(MakeInt64Tensor(tokens_per_clip, {static_cast(num_clips)}, allocator))); + named_tensors.emplace(std::string(Config::Defaults::AudioLengthsName), + std::make_shared(MakeInt64Tensor(mel_lengths, {num_clips}, allocator))); + named_tensors.emplace(std::string(Config::Defaults::AudioSizesName), + std::make_shared(MakeInt64Tensor(tokens_per_clip, {num_clips}, allocator))); +} + +std::unique_ptr Lfm2AudioProcessor::Process(const Tokenizer& tokenizer, const Payload& payload) const { + const std::string prompt = ResolvePrompt(payload); + const Audios* audios = payload.audios; + const size_t num_clips = audios ? audios->num_audios_ : 0; + Ort::Allocator& allocator{Ort::Allocator::GetWithDefaultOptions()}; + auto named_tensors = std::make_unique(); + + // With no clips the prompt must not ask for any; the split with zero clips enforces that. + const std::vector segments = SplitLfm2AudioPrompt(prompt, num_clips); + + std::vector clips; + clips.reserve(num_clips); + for (size_t i = 0; i < num_clips; ++i) { + clips.push_back(ComputeClipMel(*audios, i)); + } + + named_tensors->emplace(std::string(Config::Defaults::InputIdsName), + std::make_shared(MakeInputIds(MakePromptTokens(tokenizer, segments, clips), allocator))); + + if (clips.empty()) { + // The pipeline reads audio_sizes to skip the speech run. + named_tensors->emplace(std::string(Config::Defaults::AudioSizesName), + std::make_shared(MakeInt64Tensor({0}, {1}, allocator))); + return named_tensors; + } + + AddAudioTensors(clips, allocator, *named_tensors); return named_tensors; } diff --git a/src/models/preprocessing/lfm2_audio_processor.h b/src/models/preprocessing/lfm2_audio_processor.h index dbcb051007..da9b2a8651 100644 --- a/src/models/preprocessing/lfm2_audio_processor.h +++ b/src/models/preprocessing/lfm2_audio_processor.h @@ -57,6 +57,24 @@ struct Lfm2AudioProcessor : Processor { std::unique_ptr Process(const Tokenizer& tokenizer, const Payload& payload) const override; private: + // One clip's log-mel frames, with what the rest of the pipeline has to know about them. + struct ClipMel { + std::vector mel; // num_frames * num_mels, frame-major + int64_t num_frames{}; // what the encoder is given for this clip + int64_t num_tokens{}; // placeholders it is worth, one per encoder frame + }; + + // Decodes clip `index` to mono PCM at the encoder's sample rate and turns it into log-mel frames. + ClipMel ComputeClipMel(const Audios& audios, size_t index) const; + + // The prompt's text tokenized segment by segment, with each clip's placeholders spliced between. + std::vector MakePromptTokens(const Tokenizer& tokenizer, const std::vector& segments, + const std::vector& clips) const; + + // Stages the clips in one zero-padded [num_clips, longest, num_mels] tensor, cast to the speech + // model's input type, and adds it with the per-clip frame and placeholder counts. + void AddAudioTensors(const std::vector& clips, Ort::Allocator& allocator, NamedTensors& named_tensors) const; + ONNXTensorElementDataType mel_type_; Lfm2AudioMelConfig mel_config_; int64_t subsampling_factor_{}; diff --git a/test/python/builder/test_lfm2_audio.py b/test/python/builder/test_lfm2_audio.py index 1921542dad..a47987918a 100644 --- a/test/python/builder/test_lfm2_audio.py +++ b/test/python/builder/test_lfm2_audio.py @@ -54,7 +54,7 @@ } -def _write_checkpoint(path, decoder_weights=None): +def _write_checkpoint(path, decoder_weights=None, shards=1): """An LFM2-Audio checkpoint directory: nested config.json plus lfm.* and audio tensors.""" path.mkdir(parents=True, exist_ok=True) config = { @@ -81,7 +81,20 @@ def _write_checkpoint(path, decoder_weights=None): tensors["audio_embedding.embedding.weight"] = torch.zeros(16, 32) tensors["depth_linear.weight"] = torch.zeros(8, 32) tensors["codebook_offsets"] = torch.arange(8) * 2049 - save_file({name: tensor.contiguous() for name, tensor in tensors.items()}, str(path / "model.safetensors")) + tensors = {name: tensor.contiguous() for name, tensor in tensors.items()} + if shards == 1: + save_file(tensors, str(path / "model.safetensors")) + else: + # What `save_pretrained` writes once a checkpoint is over its shard size: several files and + # an index naming which tensor lives in which. An fp32 fine-tune of this model reaches it. + names = sorted(tensors) + weight_map = {} + for shard in range(shards): + filename = f"model-{shard + 1:05d}-of-{shards:05d}.safetensors" + part = {name: tensors[name] for name in names[shard::shards]} + save_file(part, str(path / filename)) + weight_map.update(dict.fromkeys(part, filename)) + (path / "model.safetensors.index.json").write_text(json.dumps({"metadata": {}, "weight_map": weight_map})) return decoder_weights @@ -130,6 +143,23 @@ def test_lfm2_audio_load_weights_loads_the_decoder_with_tied_logits(tmp_path): assert not any(parameter.is_meta for parameter in loaded.parameters()) +@pytest.mark.parametrize("shards", [2, 3]) +def test_lfm2_audio_load_weights_reads_a_sharded_checkpoint(tmp_path, shards): + # These checkpoints are one file today, but `save_pretrained` shards anything over its size + # limit, which an fp32 fine-tune of this model exceeds. The tensors have to be gathered from + # every shard the index names, not just the first. + decoder_weights = _write_checkpoint(tmp_path, shards=shards) + assert not (tmp_path / "model.safetensors").exists(), "the sharded layout has no single file" + + loaded = _audio_builder(tmp_path).load_weights(str(tmp_path)) + + torch.testing.assert_close( + loaded.model.layers[0].conv.in_proj.weight, decoder_weights["lfm.layers.0.conv.in_proj.weight"] + ) + torch.testing.assert_close(loaded.model.embedding_norm.weight, decoder_weights["lfm.embedding_norm.weight"]) + assert not any(parameter.is_meta for parameter in loaded.parameters()) + + def test_lfm2_audio_load_weights_rejects_a_checkpoint_missing_decoder_tensors(tmp_path): torch.manual_seed(0) model = transformers.Lfm2ForCausalLM(transformers.Lfm2Config(**DECODER_CONFIG)) From 470dadf1f8c60c73d7d301267d1dc1ac5d40ee89 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 22:17:07 -0400 Subject: [PATCH 05/23] docs: say what to do about precision, with measured sizes `-p int4` quantizes the decoder and nothing else. The embedding table and the speech encoder are put together by hand, so they stay at whatever they were built or downloaded at, and together they outweigh the quantized decoder: 1787 MB for a build where only 730 MB of it was quantized. Measured all five combinations on three clips. Every int4 build wrote the same words as every other, so a half-width embedding table and the published 4-bit encoder cost nothing and take the build to 1178 MB. The only difference anywhere is the int4 decoder against fp32, which dropped one comma. Also: the encoder variants refer to their own data file by name, so renaming the pair breaks the build with an external-data error. Say so, and stop the example renaming it. --- examples/python/lfm2-audio-tutorial.md | 49 ++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index 65d1c76ae8..a8eef44284 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -8,7 +8,7 @@ runs the speech-to-text half of it — ASR and spoken-prompt chat — as three O | Model | Inputs | Outputs | | --- | --- | --- | -| `speech.onnx` | `mel_spectrogram`, `mel_lengths` | `audio_embeddings`, `audio_lengths` | +| speech encoder (`audio_encoder.onnx`) | `mel_spectrogram`, `mel_lengths` | `audio_embeddings`, `audio_lengths` | | `embeddings.onnx` | `input_ids`, `audio_features` | `inputs_embeds` | | `model.onnx` (decoder) | `inputs_embeds`, `attention_mask`, `position_ids`, KV + conv cache | `logits` | @@ -19,15 +19,16 @@ published as ONNX by LiquidAI, and the embedding model is a small graph you buil RQ-transformer ("depthformer") that ONNX Runtime GenAI has no generation loop for, and those codes then need the audio detokenizer and an inverse STFT to become a waveform. The export below drops the depthformer and the audio embeddings with it, so the model answers in text only. See -[Known limitations](#5-known-limitations). +[Known limitations](#6-known-limitations). ## Steps 1. [Build the decoder](#1-build-the-decoder) 2. [Get the speech encoder and build the embedding model](#2-get-the-speech-encoder-and-build-the-embedding-model) 3. [Write `genai_config.json`](#3-write-genai_configjson) -4. [Run the model](#4-run-the-model) -5. [Known limitations](#5-known-limitations) +4. [Choose the precisions](#4-choose-the-precisions) +5. [Run the model](#5-run-the-model) +6. [Known limitations](#6-known-limitations) ## 1. Build the decoder @@ -176,7 +177,7 @@ produced. Leave the `decoder` and `search` sections it wrote alone: "eos_token_id": 7, "pad_token_id": 0, "speech": { - "filename": "speech.onnx", + "filename": "audio_encoder.onnx", "inputs": { "audio_embeds": "mel_spectrogram", "audio_lengths": "mel_lengths", @@ -197,6 +198,9 @@ produced. Leave the `decoder` and `search` sections it wrote alone: } ``` +`filename` is whatever the encoder file is called on disk — keep the name it was published under, +for the reason in [Choose the precisions](#4-choose-the-precisions). + `audio_sizes` is not an encoder input; the name only tells the runtime what to call the per-clip token counts it computes, so leave it as is unless it collides with a real input of your graph. `audio_token_id` must be the id the embedding model scatters over, and must not be an id the @@ -222,7 +226,38 @@ LFM2-Audio checkpoint shares (`"preprocessor"` in `config.json`), which are NeMo Set the overrides only for a fine-tune that changed them; the defaults already match all the published models. -## 4. Run the model +## 4. Choose the precisions + +`-p int4` quantizes the decoder, and the decoder alone. The embedding model and the speech encoder +are assembled by hand, so they stay at whatever precision you built or downloaded them at — and +together they are bigger than the quantized decoder. Measured on LFM2.5-Audio-1.5B, transcribing +three clips (16 kHz, 44.1 kHz stereo, and an mp3): + +| Decoder | Embedding table | Encoder | Size | Transcripts | +| --- | --- | --- | --- | --- | +| fp32 | fp32 | fp32 | 5736 MB | baseline | +| int4 | fp32 | fp32 | 1787 MB | correct; one comma differs from fp32 | +| int4 | fp16 | fp32 | 1518 MB | identical to the row above | +| int4 | fp16 | fp16 | 1278 MB | identical to the row above | +| **int4** | **fp16** | **q4** | **1178 MB** | **identical to the row above** | + +Quantizing the other two components is free here: every int4 row produced the same tokens as every +other, so the last row is the one to build. The only difference anywhere is the int4 decoder against +fp32 — `And so, my fellow Americans` became `And so my fellow Americans` on one clip, with the words +otherwise unchanged. + +For the embedding table, `astype(np.float16)` on the weight in the snippet above is the whole change; +keep the graph's output fp32 by casting after the `Gather`, so the decoder still receives what it +declares. A 4-bit table would be smaller still — the builder's own text-only export gets one, through +`GatherBlockQuantized` over the quantized `lm_head` weights — but `exclude_embeds` is what puts the +table outside the decoder in the first place, so the pipeline cannot share that copy. + +For the encoder, take `audio_encoder_q4.onnx` instead of `audio_encoder.onnx`. **Keep the published +file names.** Each variant's graph refers to its own `*.onnx_data` by name, so renaming the pair to +`speech.onnx` breaks the lookup with `External data path validation failed`. Leave both files as they +are and point `model.speech.filename` at the name you downloaded. + +## 5. Run the model [`model-mm.py`](model-mm.py) drives any multi-modal model in this repository: @@ -254,7 +289,7 @@ Perform ASR.<|im_end|> <|im_start|>assistant ``` -## 5. Known limitations +## 6. Known limitations **Audio output is not supported.** Interleaved and TTS generation need the depthformer, which predicts 8 codebook entries per 80 ms audio frame in an inner autoregressive loop, plus the audio From 58a9a423beca0f5ab901c3700606d1e04c63e478 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 22:29:19 -0400 Subject: [PATCH 06/23] fix: stop generating when the model starts speaking These checkpoints answer in speech as well as text, chosen by the system prompt. Asked for speech, the model emits <|audio_start|> and everything after it is audio codes meant for the depthformer, which this runtime does not have. Those positions were being read off the text head, which gave fluent, plausible nonsense with nothing to say it was wrong: a TTS prompt returned eleven tokens of invented sentence. <|audio_start|> now goes into the stop tokens when the decoder is built, so an answer that turns to speech ends there instead, keeping whatever text came before it. Of the model's three modes, only transcription was ever exercised. Now measured on the real model: transcription is unchanged and still matches the reference token for token; a speech prompt returns nothing at all rather than nonsense; and the interleaved prompt returns text, which on a ten second clip was the reference's interleaved text exactly, all 29 tokens of it, before the reference carried on into speech. The tutorial says which prompt gives what, and that the temperatures quoted for the model are for the speech stream this runtime does not produce. --- examples/python/lfm2-audio-tutorial.md | 55 +++++++++++++----- src/python/py/models/builders/lfm2.py | 14 +++++ test/python/builder/test_lfm2_audio.py | 22 +++++++ test/python/models/test_lfm2_audio_models.py | 61 ++++++++++++++++++++ 4 files changed, 138 insertions(+), 14 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index a8eef44284..0d81a1747f 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -273,13 +273,7 @@ produced. Text on either side of a marker is tokenized on its own, which is what `liquid_audio.ChatState` does. LFM2-Audio has no audio token of its own and no chat-template entry for audio: `<|audio|>` is this -runtime's marker, the same role `` plays for LFM2-VL. The system prompt selects the task, as -in the reference implementation: - -| Task | System prompt | -| --- | --- | -| Transcription | `Perform ASR.` | -| Spoken question, text answer | `Respond with interleaved text and audio.` (the text half of the answer) | +runtime's marker, the same role `` plays for LFM2-VL. ``` <|startoftext|><|im_start|>system @@ -289,15 +283,48 @@ Perform ASR.<|im_end|> <|im_start|>assistant ``` +### The model's three modes + +The system prompt picks the task, and the reference implementation pairs each with a generation +routine of its own. Only the first produces text alone, so only the first runs here in full: + +| Mode | System prompt | Reference routine | Output | Here | +| --- | --- | --- | --- | --- | +| ASR | `Perform ASR.` | `generate_sequential` | text | works | +| TTS | `Perform TTS. Use the UK male voice.` (also US male, US female, UK female) | `generate_sequential` | speech | stops immediately | +| Interleaved | `Respond with interleaved text and audio.` | `generate_interleaved` | text and speech, alternating | the text, up to the first switch to speech | + +**ASR** is the supported path, and matches the reference token for token. + +**TTS** produces nothing here. The model answers a TTS prompt by emitting `<|audio_start|>` as its +very first token and then audio codes, so generation stops there and the answer is empty. That is +deliberate: the builder puts `<|audio_start|>` in `eos_token_id` for these models, because the +positions after it are meant for the depthformer this runtime does not have — read off the text head +they decode to fluent, plausible nonsense. A sequential answer that begins in text and turns to +speech part way keeps the text it had before the switch. + +**Interleaved** returns text only. The reference alternates by count — `interleaved_n_text` text +tokens, then `interleaved_n_audio` audio frames, from `config.json` — rather than by any token in the +stream, so there is nothing here to switch on, and generation simply runs to `<|im_end|>`. On a ten +second clip the text produced this way was the reference's interleaved text stream exactly, for all +29 tokens before the end of the turn; the reference then carried on past that point, alternating +text with speech, where this ends the turn. Treat it as the opening of the answer, not the whole of +it. + +Sampling: the reference generates text greedily in every mode, so `do_sample=False` is right here. +The temperatures and `top_k` values quoted for the model (`audio_temperature=0.8, audio_top_k=64` +for TTS, `1.0` and `4` for interleaved) apply only to the audio stream, which this runtime does not +produce; they have no text-side equivalent to set. + ## 6. Known limitations -**Audio output is not supported.** Interleaved and TTS generation need the depthformer, which -predicts 8 codebook entries per 80 ms audio frame in an inner autoregressive loop, plus the audio -detokenizer and an inverse STFT to turn those codes into a waveform. ONNX Runtime GenAI's generation -loop samples one token stream, so none of that has a home here yet. The model still answers in text -when asked to; a prompt that asks it to speak makes it emit `<|audio_start|>` and then codes the -runtime has nothing to do with. LiquidAI ships `vocoder_depthformer.onnx` and -`audio_detokenizer.onnx` in the ONNX repository, and their +**Audio output is not supported.** TTS and the speech half of interleaved generation need the +depthformer, which predicts 8 codebook entries per 80 ms audio frame in an inner autoregressive loop, +plus the audio detokenizer and an inverse STFT to turn those codes into a waveform. ONNX Runtime +GenAI's generation loop samples one token stream, so none of that has a home here yet. Generation +stops at `<|audio_start|>` rather than reading the depthformer's positions off the text head; see +[the three modes](#the-models-three-modes) for what each prompt gives you. LiquidAI ships +`vocoder_depthformer.onnx` and `audio_detokenizer.onnx` in the ONNX repository, and their [onnx-export](https://github.com/Liquid4All/onnx-export) repository drives them from Python. **One prompt at a time.** Several clips in one prompt work, but batched prompts are refused. The diff --git a/src/python/py/models/builders/lfm2.py b/src/python/py/models/builders/lfm2.py index 330e2767f2..a058c7b479 100644 --- a/src/python/py/models/builders/lfm2.py +++ b/src/python/py/models/builders/lfm2.py @@ -232,6 +232,20 @@ def __init__(self, config, io_dtype, onnx_dtype, ep, cache_dir, extra_options): super().__init__(config, io_dtype, onnx_dtype, ep, cache_dir, extra_options) self.decoder_config = config + def update_genai_config(self, genai_config): + super().update_genai_config(genai_config) + + # These checkpoints answer in speech as well as text: asked to, the model emits + # <|audio_start|> and everything after it is audio codes for the depthformer, which this + # runtime does not have. Sampling those positions from the text head gives fluent nonsense, + # so stop there instead. An answer that turns to speech part way keeps the text it had. + audio_start_token_id = 128 + eos_token_id = genai_config["model"].get("eos_token_id") + eos_token_ids = list(eos_token_id) if isinstance(eos_token_id, list) else [eos_token_id] + if audio_start_token_id not in eos_token_ids: + eos_token_ids.append(audio_start_token_id) + genai_config["model"]["eos_token_id"] = eos_token_ids + def load_weights(self, input_path): if input_path.endswith(".gguf") or self.quant_type is not None: return super().load_weights(input_path) diff --git a/test/python/builder/test_lfm2_audio.py b/test/python/builder/test_lfm2_audio.py index a47987918a..15c31a858b 100644 --- a/test/python/builder/test_lfm2_audio.py +++ b/test/python/builder/test_lfm2_audio.py @@ -246,6 +246,28 @@ def test_lfm2_audio_load_weights_without_an_adapter_returns_the_decoder(tmp_path assert type(loaded).__name__ == "Lfm2ForCausalLM" +@pytest.mark.parametrize( + "existing,expected", + [(7, [7, 128]), ([7], [7, 128]), ([7, 2], [7, 2, 128]), ([7, 128], [7, 128])], + ids=["scalar", "list", "several", "already-there"], +) +def test_lfm2_audio_stops_when_the_model_starts_speaking(existing, expected): + # The model answers in speech too. Everything after <|audio_start|> is audio codes meant for the + # depthformer, which this runtime does not have, so generation has to end there rather than read + # those positions off the text head. + builder = LFM2AudioModel.__new__(LFM2AudioModel) + builder.layer_types = ["conv", "full_attention"] + builder.conv_L_cache = 3 + genai_config = {"model": {"decoder": {}, "eos_token_id": existing}} + + builder.update_genai_config(genai_config) + + assert genai_config["model"]["eos_token_id"] == expected + # The LFM2 decoder settings the base class writes are still there. + assert genai_config["model"]["decoder"]["layer_types"] == ["conv", "full_attention"] + assert genai_config["model"]["decoder"]["conv_cache_size"] == 2 + + @pytest.mark.parametrize("exclude_embeds,expected_type", [(True, "lfm2_audio"), (False, "lfm2_audio_text")]) def test_lfm2_audio_architecture_labels_the_export(monkeypatch, tmp_path, exclude_embeds, expected_type): captured = {} diff --git a/test/python/models/test_lfm2_audio_models.py b/test/python/models/test_lfm2_audio_models.py index 4b57a4e84c..feda9cb7fe 100644 --- a/test/python/models/test_lfm2_audio_models.py +++ b/test/python/models/test_lfm2_audio_models.py @@ -32,6 +32,7 @@ import pytest AUDIO_MARKER = "<|audio|>" +AUDIO_START_TOKEN_ID = 128 # <|audio_start|>: the model switching from text to speech AUDIO_TOKEN_ID = 133 # <|reserved_123|>, model.audio_token_id in the fixture's genai_config.json NUM_MELS = 128 SAMPLE_RATE = 16000 @@ -612,6 +613,66 @@ def test_lfm2_audio_features_follow_the_clip_order(test_data_path, tmp_path): assert outputs[0] != outputs[1], "swapping the clips must change what the decoder sees" +def _generate_with_eos(model_path, clip, eos, num_tokens): + model = og.Model(os.fspath(model_path)) + processor = model.create_multimodal_processor() + inputs = processor(AUDIO_MARKER, audios=og.Audios.open(clip)) + prompt_length = inputs["input_ids"].as_numpy().shape[1] + params = og.GeneratorParams(model) + params.set_search_options(do_sample=False, max_length=prompt_length + num_tokens) + generator = og.Generator(model, params) + generator.set_inputs(inputs) + generated = [] + while not generator.is_done(): + generator.generate_next_token() + generated.append(int(generator.get_next_tokens()[0])) + return generated + + +def test_lfm2_audio_generation_stops_when_the_model_starts_speaking(test_data_path, tmp_path): + # Everything the model emits after <|audio_start|> is audio codes for a depthformer this runtime + # does not have, so the builder puts that token in eos_token_id and generation has to end on it. + # The fixture decoder never emits 128 on its own, so this pins the mechanism on a token it does + # emit: whichever id is named as the audio stop, the run ends at its first occurrence. + model_path = _copy_model(test_data_path, tmp_path) + clip = _write_wav(tmp_path / "clip.wav", _synthetic_signal(0.5, seed=40)) + + unrestricted = _generate_with_eos(model_path, clip, [7], num_tokens=40) + assert len(unrestricted) == 40, "the fixture should run to max_length without a stop token" + + stop_token = unrestricted[5] + first = unrestricted.index(stop_token) + _edit_json(model_path / "genai_config.json", lambda config: config["model"].update({"eos_token_id": [stop_token]})) + + stopped = _generate_with_eos(model_path, clip, [stop_token], num_tokens=40) + + assert stopped == unrestricted[: first + 1], "generation must end at the stop token, with nothing after it" + + +def test_lfm2_audio_audio_start_in_eos_leaves_normal_stopping_alone(test_data_path, tmp_path): + # Adding <|audio_start|> alongside <|im_end|> must not change a run that never starts speaking. + model_path = _copy_model(test_data_path, tmp_path) + clip = _write_wav(tmp_path / "clip.wav", _synthetic_signal(0.5, seed=41)) + + without = _generate_with_eos(model_path, clip, [7], num_tokens=25) + _edit_json( + model_path / "genai_config.json", + lambda config: config["model"].update({"eos_token_id": [7, AUDIO_START_TOKEN_ID]}), + ) + with_audio_stop = _generate_with_eos(model_path, clip, [7, AUDIO_START_TOKEN_ID], num_tokens=25) + + assert AUDIO_START_TOKEN_ID not in without, "the fixture is not expected to emit <|audio_start|>" + assert with_audio_stop == without + + +def test_lfm2_audio_fixture_config_is_what_the_builder_writes(test_data_path): + # The tiny model stands in for a built one; its stop tokens have to match what the builder emits + # for these checkpoints, or the tests above would be exercising a different contract. + config = json.loads((Path(_model_path(test_data_path)) / "genai_config.json").read_text()) + assert config["model"]["type"] == "lfm2_audio" + assert config["model"]["audio_token_id"] == AUDIO_TOKEN_ID + + def test_lfm2_audio_rejects_rewind(test_data_path, tmp_path): clip = _write_wav(tmp_path / "clip.wav", _synthetic_signal(0.5)) generator, _ = _generate(_model_path(test_data_path), f"{AUDIO_MARKER}Hi", og.Audios.open(clip), num_tokens=1) From e69976c38717f563654e48278bc5204fe1ce5a5d Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 22:43:17 -0400 Subject: [PATCH 07/23] docs: correct what interleaved mode gives, having listened to it The earlier note was measured with the audio taken greedily, which is not how the model card runs interleaved generation, and it overstated the case twice over: it said this runtime returns the text up to the first switch to speech, when the switch comes after six tokens and the whole text still came through; and it said the reference carries on past where this stops, which was an artefact of that sampling. Generated the speech properly this time, with the sampling the model card gives, and decoded it. The reference answered with 29 text tokens and 48 audio frames; those frames are 3.8 seconds of real speech, which our own transcription reads back as the opening of the same answer. This runtime gives the same 29 tokens. With the audio taken greedily the reference instead runs to 54 tokens, so the text does depend on the speech, and the agreement is not a guarantee. Says so now. --- examples/python/lfm2-audio-tutorial.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index 0d81a1747f..581fd67cf4 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -292,7 +292,7 @@ routine of its own. Only the first produces text alone, so only the first runs h | --- | --- | --- | --- | --- | | ASR | `Perform ASR.` | `generate_sequential` | text | works | | TTS | `Perform TTS. Use the UK male voice.` (also US male, US female, UK female) | `generate_sequential` | speech | stops immediately | -| Interleaved | `Respond with interleaved text and audio.` | `generate_interleaved` | text and speech, alternating | the text, up to the first switch to speech | +| Interleaved | `Respond with interleaved text and audio.` | `generate_interleaved` | text and speech, alternating | the text; none of the speech | **ASR** is the supported path, and matches the reference token for token. @@ -303,13 +303,16 @@ positions after it are meant for the depthformer this runtime does not have — they decode to fluent, plausible nonsense. A sequential answer that begins in text and turns to speech part way keeps the text it had before the switch. -**Interleaved** returns text only. The reference alternates by count — `interleaved_n_text` text -tokens, then `interleaved_n_audio` audio frames, from `config.json` — rather than by any token in the -stream, so there is nothing here to switch on, and generation simply runs to `<|im_end|>`. On a ten -second clip the text produced this way was the reference's interleaved text stream exactly, for all -29 tokens before the end of the turn; the reference then carried on past that point, alternating -text with speech, where this ends the turn. Treat it as the opening of the answer, not the whole of -it. +**Interleaved** returns text only. The reference alternates by count — six text tokens, then +`interleaved_n_audio` audio frames (12, or 9 for the JP checkpoint) — rather than on any token in the +stream, so there is nothing here to switch on and generation simply runs to `<|im_end|>`. + +The speech it generates is real, and it feeds back into the context, so the text depends on it. On a +ten second clip the reference answered with 29 text tokens and 48 audio frames using the sampling the +model card gives (`audio_temperature=1.0, audio_top_k=4`), and with 54 text tokens when the audio was +taken greedily instead. This runtime produced those same first 29 tokens and stopped. The first 29 +agree across all three, and they diverge after that. So take what you get as the answer the model +would speak, not as a reproduction of any one interleaved run. Sampling: the reference generates text greedily in every mode, so `do_sample=False` is right here. The temperatures and `top_k` values quoted for the model (`audio_temperature=0.8, audio_top_k=64` @@ -320,7 +323,9 @@ produce; they have no text-side equivalent to set. **Audio output is not supported.** TTS and the speech half of interleaved generation need the depthformer, which predicts 8 codebook entries per 80 ms audio frame in an inner autoregressive loop, -plus the audio detokenizer and an inverse STFT to turn those codes into a waveform. ONNX Runtime +plus the audio detokenizer to turn those codes into a waveform. That speech is worth having: the 48 +frames the reference generated for the clip above decode to 3.8 seconds of 24 kHz audio, which this +runtime's own ASR transcribes back as the opening of the same answer. It simply has no path here. ONNX Runtime GenAI's generation loop samples one token stream, so none of that has a home here yet. Generation stops at `<|audio_start|>` rather than reading the depthformer's positions off the text head; see [the three modes](#the-models-three-modes) for what each prompt gives you. LiquidAI ships From 9c8eacc2d7fd5110983d533e4ff3f4d905d02bc4 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 22:47:18 -0400 Subject: [PATCH 08/23] docs: verify the speech the model produces, and say what it is Asked the reference to speak a known sentence in two of its voices, and read the result back with our own transcription: both came back as the sentence exactly, punctuation and all. The two voices are different waveforms, and the male one carries more of its energy low down than the female one. So the speech this runtime leaves on the table is good, not a curiosity, and the earlier partial read-back was a truncated clip rather than poor audio. Also: a speech prompt yields no text at all, not merely a short one. The entire text stream is the token that starts the audio followed by the end of the turn. --- examples/python/lfm2-audio-tutorial.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index 581fd67cf4..2a1a4242fd 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -296,12 +296,13 @@ routine of its own. Only the first produces text alone, so only the first runs h **ASR** is the supported path, and matches the reference token for token. -**TTS** produces nothing here. The model answers a TTS prompt by emitting `<|audio_start|>` as its -very first token and then audio codes, so generation stops there and the answer is empty. That is -deliberate: the builder puts `<|audio_start|>` in `eos_token_id` for these models, because the -positions after it are meant for the depthformer this runtime does not have — read off the text head -they decode to fluent, plausible nonsense. A sequential answer that begins in text and turns to -speech part way keeps the text it had before the switch. +**TTS** produces nothing here, and there is no text to be had: asked to speak a sentence, the whole +text stream the model emits is `<|audio_start|>` followed by `<|im_end|>`, with everything in between +being audio. Generation stops at that first token, which is deliberate — the builder puts +`<|audio_start|>` in `eos_token_id` for these models, because the positions after it are meant for +the depthformer this runtime does not have, and read off the text head they decode to fluent, +plausible nonsense. A sequential answer that begins in text and turns to speech part way keeps the +text it had before the switch. **Interleaved** returns text only. The reference alternates by count — six text tokens, then `interleaved_n_audio` audio frames (12, or 9 for the JP checkpoint) — rather than on any token in the @@ -323,9 +324,11 @@ produce; they have no text-side equivalent to set. **Audio output is not supported.** TTS and the speech half of interleaved generation need the depthformer, which predicts 8 codebook entries per 80 ms audio frame in an inner autoregressive loop, -plus the audio detokenizer to turn those codes into a waveform. That speech is worth having: the 48 -frames the reference generated for the clip above decode to 3.8 seconds of 24 kHz audio, which this -runtime's own ASR transcribes back as the opening of the same answer. It simply has no path here. ONNX Runtime +plus the audio detokenizer to turn those codes into a waveform. That speech is worth having, and it +is good: asked through the reference to say *The quick brown fox jumps over the lazy dog.*, the model +produced about three seconds of 24 kHz audio per voice, and this runtime's own ASR read both back as +that sentence exactly, punctuation included. The two voices are different waveforms, and the male one +carries more of its energy below 1 kHz than the female one, as it should. None of it has a path here. ONNX Runtime GenAI's generation loop samples one token stream, so none of that has a home here yet. Generation stops at `<|audio_start|>` rather than reading the depthformer's positions off the text head; see [the three modes](#the-models-three-modes) for what each prompt gives you. LiquidAI ships From 907201217a2b805b2528be796879168c1ccbbfe2 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 23:10:25 -0400 Subject: [PATCH 09/23] fix: stop at the end of the text half of an interleaved answer too Stopping when the model starts speaking covered the case where the whole answer is spoken, but not the interleaved one, where the model writes an answer, marks the text finished, and says the rest aloud. Asked a spoken question that way, the answer came back followed by thirty-odd tokens of invented whitespace read off the text head at positions meant for the depthformer. Both tokens that hand the turn over to speech now end generation. Asked "What is the capital of France?", the interleaved answer is now exactly "The capital of France is Paris" -- the text the model wrote before it began speaking, and what it then spoke. Transcription and a turn that stays in text are unchanged. Found by listening to the speech instead of only counting its frames: synthesising a question, asking it back, and reading the answer aloud. --- examples/python/lfm2-audio-tutorial.md | 46 ++++++++++++-------- src/python/py/models/builders/lfm2.py | 14 +++--- test/python/builder/test_lfm2_audio.py | 17 +++++--- test/python/models/test_lfm2_audio_models.py | 17 +++++--- 4 files changed, 56 insertions(+), 38 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index 2a1a4242fd..d4b61de8c7 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -292,28 +292,34 @@ routine of its own. Only the first produces text alone, so only the first runs h | --- | --- | --- | --- | --- | | ASR | `Perform ASR.` | `generate_sequential` | text | works | | TTS | `Perform TTS. Use the UK male voice.` (also US male, US female, UK female) | `generate_sequential` | speech | stops immediately | -| Interleaved | `Respond with interleaved text and audio.` | `generate_interleaved` | text and speech, alternating | the text; none of the speech | +| Interleaved | `Respond with interleaved text and audio.` | `generate_interleaved` | text and speech, alternating | the text answer; none of the speech | **ASR** is the supported path, and matches the reference token for token. +Two tokens mark the turn passing from text to speech, and the builder puts both in `eos_token_id`: +`<|audio_start|>` when the rest of the answer is spoken, and `<|text_end|>` when the text half of an +interleaved answer is done. The positions after either are audio codes meant for the depthformer this +runtime does not have; read off the text head they decode to fluent, plausible nonsense, so +generation ends there with whatever text came first. + **TTS** produces nothing here, and there is no text to be had: asked to speak a sentence, the whole -text stream the model emits is `<|audio_start|>` followed by `<|im_end|>`, with everything in between -being audio. Generation stops at that first token, which is deliberate — the builder puts -`<|audio_start|>` in `eos_token_id` for these models, because the positions after it are meant for -the depthformer this runtime does not have, and read off the text head they decode to fluent, -plausible nonsense. A sequential answer that begins in text and turns to speech part way keeps the -text it had before the switch. - -**Interleaved** returns text only. The reference alternates by count — six text tokens, then -`interleaved_n_audio` audio frames (12, or 9 for the JP checkpoint) — rather than on any token in the -stream, so there is nothing here to switch on and generation simply runs to `<|im_end|>`. - -The speech it generates is real, and it feeds back into the context, so the text depends on it. On a -ten second clip the reference answered with 29 text tokens and 48 audio frames using the sampling the -model card gives (`audio_temperature=1.0, audio_top_k=4`), and with 54 text tokens when the audio was -taken greedily instead. This runtime produced those same first 29 tokens and stopped. The first 29 -agree across all three, and they diverge after that. So take what you get as the answer the model -would speak, not as a reproduction of any one interleaved run. +text stream the model emits is `<|audio_start|>` followed by `<|im_end|>`, everything in between +being audio. Generation stops on that first token. A sequential answer that begins in text and turns +to speech part way keeps the text it had before the switch. + +**Interleaved** gives the text answer and none of the speech. Asked a spoken question, the model +writes its answer, emits `<|text_end|>`, and says the rest aloud; generation stops at that token, so +what comes back is the answer itself. Asked *What is the capital of France?*, this runtime returns +`The capital of France is Paris` — the same text the reference produced before it began speaking, +which it then spoke. + +Between those text tokens the reference is also emitting audio, six text tokens at a time against +`interleaved_n_audio` audio frames (12, or 9 for the JP checkpoint), and that speech feeds back into +the context. So the text can depend on audio this runtime never generates: on a ten second clip with +no question in it, the reference wrote 29 text tokens with the sampling the model card gives and 54 +with the audio taken greedily, and this runtime matched the first 29 and stopped. Short answers to +spoken questions come through whole; a long turn is the model's answer as far as it gets, not a +reproduction of any one interleaved run. Sampling: the reference generates text greedily in every mode, so `do_sample=False` is right here. The temperatures and `top_k` values quoted for the model (`audio_temperature=0.8, audio_top_k=64` @@ -328,7 +334,9 @@ plus the audio detokenizer to turn those codes into a waveform. That speech is w is good: asked through the reference to say *The quick brown fox jumps over the lazy dog.*, the model produced about three seconds of 24 kHz audio per voice, and this runtime's own ASR read both back as that sentence exactly, punctuation included. The two voices are different waveforms, and the male one -carries more of its energy below 1 kHz than the female one, as it should. None of it has a path here. ONNX Runtime +carries more of its energy below 1 kHz than the female one, as it should. Asked the spoken question +above in interleaved mode, it answered in 41 audio frames ending in the end-of-audio code, 3.2 +seconds that read back as *The capital of France is Paris.* None of it has a path here. ONNX Runtime GenAI's generation loop samples one token stream, so none of that has a home here yet. Generation stops at `<|audio_start|>` rather than reading the depthformer's positions off the text head; see [the three modes](#the-models-three-modes) for what each prompt gives you. LiquidAI ships diff --git a/src/python/py/models/builders/lfm2.py b/src/python/py/models/builders/lfm2.py index a058c7b479..ec793a5fa5 100644 --- a/src/python/py/models/builders/lfm2.py +++ b/src/python/py/models/builders/lfm2.py @@ -235,15 +235,15 @@ def __init__(self, config, io_dtype, onnx_dtype, ep, cache_dir, extra_options): def update_genai_config(self, genai_config): super().update_genai_config(genai_config) - # These checkpoints answer in speech as well as text: asked to, the model emits - # <|audio_start|> and everything after it is audio codes for the depthformer, which this - # runtime does not have. Sampling those positions from the text head gives fluent nonsense, - # so stop there instead. An answer that turns to speech part way keeps the text it had. - audio_start_token_id = 128 + # These checkpoints answer in speech as well as text, and two tokens mark the turn passing + # from one to the other: <|audio_start|> when the whole answer is spoken, and <|text_end|> + # when text and speech are interleaved. Everything after either is audio codes for the + # depthformer, which this runtime does not have, and sampling those positions from the text + # head gives fluent nonsense. Stop on them instead, keeping whatever text came first. + modality_switch_token_ids = [128, 130] # <|audio_start|>, <|text_end|> eos_token_id = genai_config["model"].get("eos_token_id") eos_token_ids = list(eos_token_id) if isinstance(eos_token_id, list) else [eos_token_id] - if audio_start_token_id not in eos_token_ids: - eos_token_ids.append(audio_start_token_id) + eos_token_ids += [token for token in modality_switch_token_ids if token not in eos_token_ids] genai_config["model"]["eos_token_id"] = eos_token_ids def load_weights(self, input_path): diff --git a/test/python/builder/test_lfm2_audio.py b/test/python/builder/test_lfm2_audio.py index 15c31a858b..4aabd690aa 100644 --- a/test/python/builder/test_lfm2_audio.py +++ b/test/python/builder/test_lfm2_audio.py @@ -248,13 +248,20 @@ def test_lfm2_audio_load_weights_without_an_adapter_returns_the_decoder(tmp_path @pytest.mark.parametrize( "existing,expected", - [(7, [7, 128]), ([7], [7, 128]), ([7, 2], [7, 2, 128]), ([7, 128], [7, 128])], - ids=["scalar", "list", "several", "already-there"], + [ + (7, [7, 128, 130]), + ([7], [7, 128, 130]), + ([7, 2], [7, 2, 128, 130]), + ([7, 128, 130], [7, 128, 130]), + ([128], [128, 130]), + ], + ids=["scalar", "list", "several", "already-there", "partly-there"], ) def test_lfm2_audio_stops_when_the_model_starts_speaking(existing, expected): - # The model answers in speech too. Everything after <|audio_start|> is audio codes meant for the - # depthformer, which this runtime does not have, so generation has to end there rather than read - # those positions off the text head. + # The model answers in speech too. <|audio_start|> marks a wholly spoken answer and <|text_end|> + # the text half of an interleaved one ending; after either, the positions are audio codes meant + # for the depthformer, which this runtime does not have, so generation has to end there rather + # than read them off the text head. builder = LFM2AudioModel.__new__(LFM2AudioModel) builder.layer_types = ["conv", "full_attention"] builder.conv_L_cache = 3 diff --git a/test/python/models/test_lfm2_audio_models.py b/test/python/models/test_lfm2_audio_models.py index feda9cb7fe..344b7c1c13 100644 --- a/test/python/models/test_lfm2_audio_models.py +++ b/test/python/models/test_lfm2_audio_models.py @@ -32,7 +32,8 @@ import pytest AUDIO_MARKER = "<|audio|>" -AUDIO_START_TOKEN_ID = 128 # <|audio_start|>: the model switching from text to speech +AUDIO_START_TOKEN_ID = 128 # <|audio_start|>: the answer is spoken from here on +TEXT_END_TOKEN_ID = 130 # <|text_end|>: the text half of an interleaved answer is over AUDIO_TOKEN_ID = 133 # <|reserved_123|>, model.audio_token_id in the fixture's genai_config.json NUM_MELS = 128 SAMPLE_RATE = 16000 @@ -649,20 +650,22 @@ def test_lfm2_audio_generation_stops_when_the_model_starts_speaking(test_data_pa assert stopped == unrestricted[: first + 1], "generation must end at the stop token, with nothing after it" -def test_lfm2_audio_audio_start_in_eos_leaves_normal_stopping_alone(test_data_path, tmp_path): - # Adding <|audio_start|> alongside <|im_end|> must not change a run that never starts speaking. +def test_lfm2_audio_modality_stops_leave_normal_stopping_alone(test_data_path, tmp_path): + # Adding the two modality-switch tokens alongside <|im_end|> must not change a run that stays in + # text the whole way. model_path = _copy_model(test_data_path, tmp_path) clip = _write_wav(tmp_path / "clip.wav", _synthetic_signal(0.5, seed=41)) + switches = [AUDIO_START_TOKEN_ID, TEXT_END_TOKEN_ID] without = _generate_with_eos(model_path, clip, [7], num_tokens=25) _edit_json( model_path / "genai_config.json", - lambda config: config["model"].update({"eos_token_id": [7, AUDIO_START_TOKEN_ID]}), + lambda config: config["model"].update({"eos_token_id": [7, *switches]}), ) - with_audio_stop = _generate_with_eos(model_path, clip, [7, AUDIO_START_TOKEN_ID], num_tokens=25) + with_switch_stops = _generate_with_eos(model_path, clip, [7, *switches], num_tokens=25) - assert AUDIO_START_TOKEN_ID not in without, "the fixture is not expected to emit <|audio_start|>" - assert with_audio_stop == without + assert not set(switches) & set(without), "the fixture is not expected to emit the switch tokens" + assert with_switch_stops == without def test_lfm2_audio_fixture_config_is_what_the_builder_writes(test_data_path): From 8f592728d22ed90a7c52360d50035d713e11e7da Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 23:17:52 -0400 Subject: [PATCH 10/23] test: cover the checks on the speech inputs, and drop one that cannot fire Went through every way the audio code can refuse something and asked which were actually reachable. The tensors the processor returns can be replaced before they reach the generator, so the checks that they still agree with each other are reachable, and five of them now have tests: a mel tensor of the wrong rank, a clip count that disagrees with the placeholders, a frame count per clip that disagrees with the tensor, and a clip claiming frames past the end of it, which would otherwise be copied out of bounds. Beam search with several clips is refused too, since they share one buffer. One check could never fire: it compared the sum of the per-clip token counts against a total derived from those same counts upstream. Removed. Also covers the three front-end settings that change the numbers rather than the shapes, where a default quietly ignoring the override would have looked perfectly healthy. --- src/models/multi_modal.cpp | 6 -- test/python/models/test_lfm2_audio_models.py | 88 +++++++++++++++++++- 2 files changed, 84 insertions(+), 10 deletions(-) diff --git a/src/models/multi_modal.cpp b/src/models/multi_modal.cpp index f26d3e6cb4..cc6dbf39a1 100644 --- a/src/models/multi_modal.cpp +++ b/src/models/multi_modal.cpp @@ -639,12 +639,6 @@ Lfm2AudioSpeechState::SpeechBindings Lfm2AudioSpeechState::ResolveBindings() con throw std::runtime_error("Lfm2AudioSpeechState: the mel tensor holds " + std::to_string(bindings.num_clips) + " clips but audio_sizes has " + std::to_string(tokens_per_clip_.size()) + " entries."); } - const int64_t total = std::accumulate(tokens_per_clip_.begin(), tokens_per_clip_.end(), int64_t{0}); - if (total != num_audio_tokens_) { - throw std::runtime_error("Lfm2AudioSpeechState: audio_sizes sums to " + std::to_string(total) + " tokens but " + - std::to_string(num_audio_tokens_) + " were expected."); - } - const auto lengths_info = inputs_[bindings.lengths_index]->GetTensorTypeAndShapeInfo(); if (static_cast(lengths_info->GetElementCount()) != bindings.num_clips) { throw std::runtime_error("Lfm2AudioSpeechState: the mel tensor holds " + std::to_string(bindings.num_clips) + diff --git a/test/python/models/test_lfm2_audio_models.py b/test/python/models/test_lfm2_audio_models.py index 344b7c1c13..0d3c2301b4 100644 --- a/test/python/models/test_lfm2_audio_models.py +++ b/test/python/models/test_lfm2_audio_models.py @@ -165,14 +165,16 @@ def mel_to_hz(mel): return weights.astype(np.float32) -def _reference_mel(samples: np.ndarray) -> np.ndarray: +def _reference_mel( + samples: np.ndarray, preemph: float = 0.97, log_eps: float = LOG_EPS, norm_eps: float = NORM_EPS +) -> np.ndarray: """NeMo's AudioToMelSpectrogramPreprocessor in eval mode, as liquid-audio ships it, in numpy. Pre-emphasis, constant center padding, symmetric Hann window, power spectrum, Slaney mel filter bank, log with the 2^-24 guard, then per-feature normalization over the num_samples // hop frames get_seq_len counts as valid, with the frames past that zeroed. """ - preemphasized = np.concatenate([samples[:1], samples[1:] - 0.97 * samples[:-1]]) + preemphasized = np.concatenate([samples[:1], samples[1:] - preemph * samples[:-1]]) padded = np.pad(preemphasized, FFT_SIZE // 2) num_frames = _num_frames(len(samples)) window = np.zeros(FFT_SIZE, np.float64) @@ -181,11 +183,11 @@ def _reference_mel(samples: np.ndarray) -> np.ndarray: ) frames = np.stack([padded[t * HOP_LENGTH : t * HOP_LENGTH + FFT_SIZE] * window for t in range(num_frames)]) power = np.abs(np.fft.rfft(frames, axis=1)) ** 2 - log_mel = np.log(power @ _slaney_mel_filterbank().T.astype(np.float64) + LOG_EPS) + log_mel = np.log(power @ _slaney_mel_filterbank().T.astype(np.float64) + log_eps) valid = len(samples) // HOP_LENGTH mean = log_mel[:valid].mean(axis=0) - std = np.sqrt(((log_mel[:valid] - mean) ** 2).sum(axis=0) / (valid - 1)) + NORM_EPS + std = np.sqrt(((log_mel[:valid] - mean) ** 2).sum(axis=0) / (valid - 1)) + norm_eps normalized = (log_mel - mean) / std normalized[valid:] = 0.0 return normalized.astype(np.float32) @@ -349,6 +351,26 @@ def test_lfm2_audio_honors_the_mel_config_overrides(test_data_path, tmp_path, fi np.testing.assert_array_equal(inputs["audio_lengths"].as_numpy(), [mel.shape[1]]) +@pytest.mark.parametrize( + "field,value", + [("preemph", 0.5), ("log_eps", 1e-4), ("norm_eps", 0.5)], +) +def test_lfm2_audio_honors_the_mel_value_overrides(test_data_path, tmp_path, field, value): + # These three change the numbers rather than the shape, so a default silently ignoring the + # override would look perfectly healthy. Check them against the same arithmetic done here. + model_path = _copy_model(test_data_path, tmp_path) + _edit_json(model_path / "genai_config.json", lambda config: config["model"].update({field: value})) + samples = _synthetic_signal(1.0, seed=12) + clip = _write_wav(tmp_path / "clip.wav", samples) + + _, inputs = _process(os.fspath(model_path), AUDIO_MARKER, og.Audios.open(clip)) + mel = inputs["audio_embeds"].as_numpy()[0] + + np.testing.assert_allclose(mel, _reference_mel(samples, **{field: value}), atol=2e-3) + # And it is genuinely a different front end from the default one. + assert not np.allclose(mel, _reference_mel(samples), atol=2e-3) + + def test_lfm2_audio_subsampling_factor_override_changes_the_placeholder_count(test_data_path, tmp_path): model_path = _copy_model(test_data_path, tmp_path) _edit_json(model_path / "genai_config.json", lambda config: config["model"].update({"subsampling_factor": 4})) @@ -676,6 +698,64 @@ def test_lfm2_audio_fixture_config_is_what_the_builder_writes(test_data_path): assert config["model"]["audio_token_id"] == AUDIO_TOKEN_ID +def _two_clip_inputs(model_path, tmp_path): + clips = [_write_wav(tmp_path / f"{i}.wav", _synthetic_signal(1.5 - 0.5 * i, seed=50 + i)) for i in range(2)] + model = og.Model(os.fspath(model_path)) + inputs = model.create_multimodal_processor()(f"{AUDIO_MARKER} and {AUDIO_MARKER}", audios=og.Audios.open(*clips)) + return model, inputs + + +def _set_inputs(model, inputs): + params = og.GeneratorParams(model) + params.set_search_options(do_sample=False, max_length=4096) + og.Generator(model, params).set_inputs(inputs) + + +@pytest.mark.parametrize( + "corrupt,expected", + [ + (lambda i, lengths: i.__setitem__("audio_embeds", np.zeros((2, 5), np.float32)), "expected a 3D"), + ( + lambda i, lengths: i.__setitem__("audio_embeds", np.zeros((3, 20, NUM_MELS), np.float32)), + "holds 3 clips but audio_sizes has 2 entries", + ), + (lambda i, lengths: i.__setitem__("audio_lengths", np.array([8], np.int64)), "mel_lengths has 1 entries"), + # Past the end of the staged tensor: the clip's frames would be copied out of bounds. + ( + lambda i, lengths: i.__setitem__("audio_lengths", np.array([lengths[0], 10**6], np.int64)), + r"clip 1 reports 1000000 mel frames, outside the 1\.\.", + ), + ( + lambda i, lengths: i.__setitem__("audio_lengths", np.array([lengths[0], 0], np.int64)), + r"clip 1 reports 0 mel frames, outside the 1\.\.", + ), + ], + ids=["mel-rank", "clip-count", "lengths-count", "frames-past-the-end", "frames-zero"], +) +def test_lfm2_audio_rejects_inconsistent_speech_inputs(test_data_path, tmp_path, corrupt, expected): + # The tensors the processor hands back can be replaced before they reach the generator, so the + # speech state checks that they still agree with one another. Without these the mismatch would + # surface as a confusing shape error from inside the encoder, or as an out-of-bounds read. + model, inputs = _two_clip_inputs(_model_path(test_data_path), tmp_path) + corrupt(inputs, inputs["audio_lengths"].as_numpy().copy()) + + with pytest.raises(RuntimeError, match=expected): + _set_inputs(model, inputs) + + +def test_lfm2_audio_several_clips_reject_beam_search(test_data_path, tmp_path): + # The clips of one prompt are concatenated into a single feature buffer, which only holds for a + # batch of one; a wider buffer would need the whole encoder run repeated per beam. + clips = [_write_wav(tmp_path / f"{i}.wav", _synthetic_signal(1.5 - 0.5 * i, seed=60 + i)) for i in range(2)] + model = og.Model(_model_path(test_data_path)) + inputs = model.create_multimodal_processor()(f"{AUDIO_MARKER} and {AUDIO_MARKER}", audios=og.Audios.open(*clips)) + params = og.GeneratorParams(model) + params.set_search_options(do_sample=False, max_length=4096, num_beams=2) + + with pytest.raises(RuntimeError, match="need a batch size of 1"): + og.Generator(model, params).set_inputs(inputs) + + def test_lfm2_audio_rejects_rewind(test_data_path, tmp_path): clip = _write_wav(tmp_path / "clip.wav", _synthetic_signal(0.5)) generator, _ = _generate(_model_path(test_data_path), f"{AUDIO_MARKER}Hi", og.Audios.open(clip), num_tokens=1) From cf4ad863029b6f07431de84f8f04eae3191e0018 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 23:25:58 -0400 Subject: [PATCH 11/23] test: pin what happens to audio with more than two channels Went looking for a way to reach the last unreached check, that the decoder hands back mono, and found a worse problem instead. The decoder downmixes one and two channels correctly, but deinterleaves anything wider as though it were stereo: a six channel clip arrives three times too long and garbled, and transcribes to nonsense. Silently. It cannot be caught here. Neither setting of the downmix flag reports how many channels a file had, and nothing else in the decoder's interface exposes it, so there is no way to tell six channels from two. The tutorial now says to mix down to mono or stereo first. The test pins the behaviour rather than blessing it: it asserts stereo keeps its length and six channels still come out three times too long, and says in its own message that a fix upstream should make it fail. --- examples/python/lfm2-audio-tutorial.md | 7 +++++++ test/python/models/test_lfm2_audio_models.py | 21 ++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index d4b61de8c7..2c50b504e0 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -347,6 +347,13 @@ stops at `<|audio_start|>` rather than reading the depthformer's positions off t clips do not share an encoder run: the published encoder export is traced for a single clip, so each one is encoded on its own frames and the results are concatenated in prompt order. +**More than two channels has to be downmixed first.** Mono and stereo are handled: a stereo clip is +mixed down and reaches the front end at its true length. Wider audio is not — the decoder +deinterleaves it as though it were stereo, so a six channel clip arrives three times too long and +garbled, and transcribes to nonsense. Nothing in the decoder's interface reports how many channels a +file had, so this cannot be caught and refused here. Mix down to mono or stereo before passing the +file in. + **Audio below 16 kHz is refused.** The decoder resamples down to the encoder's rate and mixes to mono, but it does not resample upwards, so 8 kHz telephone audio has to be resampled before it gets here. The processor says so, naming the clip. diff --git a/test/python/models/test_lfm2_audio_models.py b/test/python/models/test_lfm2_audio_models.py index 0d3c2301b4..f011d9788f 100644 --- a/test/python/models/test_lfm2_audio_models.py +++ b/test/python/models/test_lfm2_audio_models.py @@ -421,6 +421,27 @@ def test_lfm2_audio_mel_matches_reference(test_data_path, tmp_path): assert np.any(mel[-2] != 0) +def test_lfm2_audio_more_than_two_channels_is_not_downmixed(test_data_path, tmp_path): + # The decoder downmixes one and two channels correctly, but deinterleaves anything wider as + # though it were stereo, so a six channel clip arrives three times too long and garbled. Nothing + # in the decoder's API reports the channel count, so this cannot be caught here; the tutorial + # says to downmix first. This pins the behaviour so a fix upstream shows up as a failure here. + samples = _synthetic_signal(0.6, seed=13) + frames = {} + for channels in (1, 2, 6): + clip = _write_wav(tmp_path / f"c{channels}.wav", samples, channels=channels) + _, inputs = _process(_model_path(test_data_path), AUDIO_MARKER, og.Audios.open(clip)) + frames[channels] = int(inputs["audio_lengths"].as_numpy()[0]) + + assert frames[2] == frames[1], "two channels are downmixed, so the clip keeps its length" + # Compare the hops rather than the frames: every clip gets one extra frame from the centre + # padding, so only `frames - 1` scales with the length. + assert frames[6] - 1 == (frames[1] - 1) * 3, ( + f"six channels still arrive as {frames[6]} frames against {frames[1]}; if these now match, " + "the decoder has learned to downmix and the tutorial's warning can go" + ) + + def test_lfm2_audio_downmixes_stereo_to_mono(test_data_path, tmp_path): samples = _synthetic_signal(0.8, seed=4) mono = _write_wav(tmp_path / "mono.wav", samples) From 1760d1a9f7f04414cb45ab2dc100baa999fbfe3a Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 23:48:43 -0400 Subject: [PATCH 12/23] fix: survive decoding no tokens, and refuse beam search for LFM2-Audio A TTS prompt stops on its first token, and decoding the nothing that follows the prompt ended the process with SIGFPE in the detokenizer, for any tokenizer. Beam search failed as a shape mismatch inside the encoder with one clip, so it is refused outright. The LFM2-Audio config is now read only once AutoConfig has refused the checkpoint, and the tutorial's example carries the stop tokens. --- examples/python/lfm2-audio-tutorial.md | 25 ++++++-- src/models/multi_modal.cpp | 15 ++--- src/models/preprocessing/genai_tokenizer.cpp | 6 ++ src/python/py/models/builder.py | 9 ++- src/python/py/models/builders/lfm2.py | 10 ++-- test/models/lfm2-audio/genai_config.json | 6 +- test/python/builder/test_lfm2_audio.py | 59 ++++++++++++++++++- test/python/builder/test_qmoe_weights.py | 2 - .../create/create_dummy_lfm2_audio_models.py | 2 +- test/python/models/test_lfm2_audio_models.py | 32 +++++----- test/python/test_onnxruntime_genai_api.py | 9 +++ 11 files changed, 132 insertions(+), 43 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index 2c50b504e0..bc76d8fe2e 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -10,7 +10,7 @@ runs the speech-to-text half of it — ASR and spoken-prompt chat — as three O | --- | --- | --- | | speech encoder (`audio_encoder.onnx`) | `mel_spectrogram`, `mel_lengths` | `audio_embeddings`, `audio_lengths` | | `embeddings.onnx` | `input_ids`, `audio_features` | `inputs_embeds` | -| `model.onnx` (decoder) | `inputs_embeds`, `attention_mask`, `position_ids`, KV + conv cache | `logits` | +| `model.onnx` (decoder) | `inputs_embeds`, `attention_mask`, KV + conv cache | `logits` | Only the decoder is produced by the model builder in this repository; the speech encoder is published as ONNX by LiquidAI, and the embedding model is a small graph you build once. @@ -174,7 +174,7 @@ produced. Leave the `decoder` and `search` sections it wrote alone: "provider_options": [] } }, - "eos_token_id": 7, + "eos_token_id": [7, 128, 130], "pad_token_id": 0, "speech": { "filename": "audio_encoder.onnx", @@ -198,6 +198,11 @@ produced. Leave the `decoder` and `search` sections it wrote alone: } ``` +Keep the `eos_token_id` list the builder wrote. Besides `<|im_end|>` (7) it holds `<|audio_start|>` +(128) and `<|text_end|>` (130), where the model turns from text to speech; without them generation +runs on into positions meant for the audio head and returns fluent nonsense. See +[the three modes](#the-models-three-modes). + `filename` is whatever the encoder file is called on disk — keep the name it was published under, for the reason in [Choose the precisions](#4-choose-the-precisions). @@ -304,7 +309,8 @@ generation ends there with whatever text came first. **TTS** produces nothing here, and there is no text to be had: asked to speak a sentence, the whole text stream the model emits is `<|audio_start|>` followed by `<|im_end|>`, everything in between -being audio. Generation stops on that first token. A sequential answer that begins in text and turns +being audio. Generation stops on that first token, and the stop token is not added to the sequence, +so there is nothing after the prompt to decode: expect an empty string. A sequential answer that begins in text and turns to speech part way keeps the text it had before the switch. **Interleaved** gives the text answer and none of the speech. Asked a spoken question, the model @@ -336,17 +342,24 @@ produced about three seconds of 24 kHz audio per voice, and this runtime's own A that sentence exactly, punctuation included. The two voices are different waveforms, and the male one carries more of its energy below 1 kHz than the female one, as it should. Asked the spoken question above in interleaved mode, it answered in 41 audio frames ending in the end-of-audio code, 3.2 -seconds that read back as *The capital of France is Paris.* None of it has a path here. ONNX Runtime -GenAI's generation loop samples one token stream, so none of that has a home here yet. Generation +seconds that read back as *The capital of France is Paris.* ONNX Runtime GenAI's generation loop +samples one token stream, so none of that has a home here yet. Generation stops at `<|audio_start|>` rather than reading the depthformer's positions off the text head; see [the three modes](#the-models-three-modes) for what each prompt gives you. LiquidAI ships `vocoder_depthformer.onnx` and `audio_detokenizer.onnx` in the ONNX repository, and their [onnx-export](https://github.com/Liquid4All/onnx-export) repository drives them from Python. -**One prompt at a time.** Several clips in one prompt work, but batched prompts are refused. The +**One prompt at a time, decoded greedily.** Several clips in one prompt work, but batched prompts +and beam search (`num_beams` above 1) are refused; the reference decodes its text greedily too. The clips do not share an encoder run: the published encoder export is traced for a single clip, so each one is encoded on its own frames and the results are concatenated in prompt order. +**In ASR mode, two clips in one turn give one transcript.** Asked to transcribe a turn holding two +clips, the model writes out the last one and leaves the first, whichever order they come in. That is +the model and not this runtime: the reference implementation, given the same two clips through +`ChatState.add_audio`, produces the same tokens exactly, in both orders. Transcribe one clip per +request. + **More than two channels has to be downmixed first.** Mono and stereo are handled: a stereo clip is mixed down and reaches the front end at its true length. Wider audio is not — the decoder deinterleaves it as though it were stereo, so a six channel clip arrives three times too long and diff --git a/src/models/multi_modal.cpp b/src/models/multi_modal.cpp index cc6dbf39a1..a777ac1108 100644 --- a/src/models/multi_modal.cpp +++ b/src/models/multi_modal.cpp @@ -604,6 +604,13 @@ DeviceSpan SpeechState::Run(int current_length, DeviceSpan& next } void Lfm2AudioSpeechState::SetExtraInputs(const std::vector& extra_inputs, const int64_t num_audio_tokens) { + // The feature buffer is one sequence wide, so beams would fail as a shape mismatch inside the + // encoder. The reference decodes greedily. + if (params_->search.num_beams > 1) { + throw std::runtime_error("Lfm2AudioSpeechState: beam search is not supported for lfm2_audio; got num_beams " + + std::to_string(params_->search.num_beams) + ". Set num_beams to 1."); + } + SpeechState::SetExtraInputs(extra_inputs, num_audio_tokens); // audio_sizes holds the decoder tokens each clip contributes; its sum is num_audio_tokens. @@ -647,13 +654,7 @@ Lfm2AudioSpeechState::SpeechBindings Lfm2AudioSpeechState::ResolveBindings() con } const auto features_info = outputs_[bindings.features_index]->GetTensorTypeAndShapeInfo(); - const auto features_shape = features_info->GetShape(); // [batch, num_audio_tokens, hidden_size] - // Several clips are concatenated into one prompt, which the pipeline only ever builds for a single - // sequence; a wider feature buffer would need the whole run repeated per beam. - if (features_shape.size() == 3 && features_shape[0] != 1) { - throw std::runtime_error("Lfm2AudioSpeechState: several audio clips need a batch size of 1, got " + - std::to_string(features_shape[0]) + "."); - } + const auto features_shape = features_info->GetShape(); // [1, num_audio_tokens, hidden_size] bindings.features_type = features_info->GetElementType(); bindings.hidden_size = features_shape.back(); return bindings; diff --git a/src/models/preprocessing/genai_tokenizer.cpp b/src/models/preprocessing/genai_tokenizer.cpp index 53309dc134..783c04bf57 100644 --- a/src/models/preprocessing/genai_tokenizer.cpp +++ b/src/models/preprocessing/genai_tokenizer.cpp @@ -114,6 +114,12 @@ std::vector Tokenizer::Encode(const char* text) const { } std::string Tokenizer::Decode(std::span tokens) const { + // The detokenizer dies with SIGFPE on an empty sequence, which a generation that stops on its + // first token produces. + if (tokens.empty()) { + return {}; + } + OrtxPtr ortx_string_array; CheckResult(OrtxDetokenize1D(tokenizer_, reinterpret_cast(tokens.data()), tokens.size(), ortx_string_array.Address())); diff --git a/src/python/py/models/builder.py b/src/python/py/models/builder.py index 6b2bc0c95d..f2b5ef7c09 100644 --- a/src/python/py/models/builder.py +++ b/src/python/py/models/builder.py @@ -102,10 +102,13 @@ def get_hf_details(model_name, input_path, cache_dir, extra_options): hf_token = extra_options.get("hf_token", True) hf_remote = extra_options.get("hf_remote", False) - # LFM2-Audio checkpoints have no model_type, so AutoConfig cannot read them: use their nested LFM2 decoder config. - config = LFM2AudioModel.load_config(hf_name, token=hf_token, **extra_kwargs) - if config is None: + try: config = AutoConfig.from_pretrained(hf_name, token=hf_token, trust_remote_code=hf_remote, **extra_kwargs) + except ValueError: + # LFM2-Audio checkpoints have no model_type; their LFM2 decoder config is nested. + config = LFM2AudioModel.load_config(hf_name, token=hf_token, **extra_kwargs) + if config is None: + raise tokenizer = AutoTokenizer.from_pretrained(hf_name, token=hf_token, trust_remote_code=hf_remote, **extra_kwargs) add_special_token_ids(config, tokenizer) if extra_options.get("adapter_path", False): diff --git a/src/python/py/models/builders/lfm2.py b/src/python/py/models/builders/lfm2.py index ec793a5fa5..33610263dd 100644 --- a/src/python/py/models/builders/lfm2.py +++ b/src/python/py/models/builders/lfm2.py @@ -210,16 +210,14 @@ def load_config(cls, model_name_or_path, **kwargs): These checkpoints have no model type and no transformers model class, and their config.json nests the decoder config under "lfm" next to the audio encoder, depthformer and mel front-end - settings, so AutoConfig cannot read them. The builder calls this before it knows which model - class to use, which is why it cannot be an instance method. + settings, so AutoConfig cannot read them. The builder calls this once AutoConfig has refused + the checkpoint and before it knows which model class to use, which is why it cannot be an + instance method. """ from transformers import Lfm2Config, PretrainedConfig architecture = "Lfm2AudioForConditionalGeneration" - try: - config_dict, _ = PretrainedConfig.get_config_dict(model_name_or_path, **kwargs) - except Exception: # noqa: BLE001 - not an LFM2-Audio checkpoint, or unreadable: AutoConfig reports the real error - return None + config_dict, _ = PretrainedConfig.get_config_dict(model_name_or_path, **kwargs) if config_dict.get("architectures") != [architecture]: return None diff --git a/test/models/lfm2-audio/genai_config.json b/test/models/lfm2-audio/genai_config.json index 975860af66..9f8d66933e 100644 --- a/test/models/lfm2-audio/genai_config.json +++ b/test/models/lfm2-audio/genai_config.json @@ -35,7 +35,11 @@ ], "conv_cache_size": 2 }, - "eos_token_id": 7, + "eos_token_id": [ + 7, + 128, + 130 + ], "pad_token_id": 0, "type": "lfm2_audio", "vocab_size": 65536, diff --git a/test/python/builder/test_lfm2_audio.py b/test/python/builder/test_lfm2_audio.py index 4aabd690aa..ddc9262783 100644 --- a/test/python/builder/test_lfm2_audio.py +++ b/test/python/builder/test_lfm2_audio.py @@ -111,10 +111,65 @@ def test_lfm2_audio_load_config_reads_the_nested_decoder_config(tmp_path): assert config.tie_word_embeddings -def test_lfm2_audio_load_config_leaves_other_checkpoints_to_autoconfig(tmp_path): +def test_lfm2_audio_load_config_is_none_for_other_checkpoints(tmp_path): (tmp_path / "config.json").write_text(json.dumps(DECODER_CONFIG)) assert LFM2AudioModel.load_config(str(tmp_path)) is None - assert LFM2AudioModel.load_config(str(tmp_path / "missing")) is None + + +def _hf_details_with(monkeypatch, auto_config): + """`get_hf_details` with AutoConfig and the tokenizer replaced, and the calls it made.""" + calls = [] + + def from_pretrained(name, **kwargs): + calls.append("AutoConfig") + return auto_config(name) + + def load_config(name, **kwargs): + calls.append("load_config") + return LFM2AudioModel.load_config(name) + + monkeypatch.setattr(builder_module, "AutoConfig", types.SimpleNamespace(from_pretrained=from_pretrained)) + monkeypatch.setattr( + builder_module, "AutoTokenizer", types.SimpleNamespace(from_pretrained=lambda *args, **kwargs: None) + ) + monkeypatch.setattr(builder_module, "add_special_token_ids", lambda config, tokenizer: None) + monkeypatch.setattr(builder_module, "LFM2AudioModel", types.SimpleNamespace(load_config=load_config)) + return calls + + +def test_lfm2_audio_config_is_read_only_once_autoconfig_refuses_the_checkpoint(monkeypatch, tmp_path): + _write_checkpoint(tmp_path) + + def refuse(name): + raise ValueError(f"Unrecognized model in {name}. Should have a `model_type` key in its config.json.") + + calls = _hf_details_with(monkeypatch, refuse) + details = builder_module.get_hf_details("", str(tmp_path), str(tmp_path / "cache"), {}) + + assert calls == ["AutoConfig", "load_config"] + assert details["hf_config"].architectures == ["Lfm2AudioForConditionalGeneration"] + + +def test_lfm2_audio_config_lookup_is_skipped_for_every_other_model(monkeypatch, tmp_path): + # Every build goes through get_hf_details; other models must not pay for a second config read. + recognized = types.SimpleNamespace(architectures=["LlamaForCausalLM"]) + calls = _hf_details_with(monkeypatch, lambda name: recognized) + + details = builder_module.get_hf_details("", str(tmp_path), str(tmp_path / "cache"), {}) + + assert calls == ["AutoConfig"] + assert details["hf_config"] is recognized + + +def test_lfm2_audio_config_lookup_keeps_autoconfig_error_for_an_unknown_checkpoint(monkeypatch, tmp_path): + (tmp_path / "config.json").write_text(json.dumps({"architectures": ["SomethingElse"]})) + + def refuse(name): + raise ValueError("Unrecognized model") + + _hf_details_with(monkeypatch, refuse) + with pytest.raises(ValueError, match="Unrecognized model"): + builder_module.get_hf_details("", str(tmp_path), str(tmp_path / "cache"), {}) def _audio_builder(tmp_path, extra_options=None, model_name_or_path=None): diff --git a/test/python/builder/test_qmoe_weights.py b/test/python/builder/test_qmoe_weights.py index 2f0866fc9b..c2216934a4 100644 --- a/test/python/builder/test_qmoe_weights.py +++ b/test/python/builder/test_qmoe_weights.py @@ -159,8 +159,6 @@ def _load_builder_cli_module(monkeypatch): "WhisperModel", ): setattr(builders_module, class_name, type(class_name, (), {})) - # builder.py calls this before the dispatch, to spot an LFM2-Audio checkpoint. - builders_module.LFM2AudioModel.load_config = lambda *args, **kwargs: None # Submodule imports (e.g. `from quantization import ...`) must resolve to the # real, dependency-free modules rather than the class stubs above. builders_module.__path__ = [str(BUILDERS_DIR)] diff --git a/test/python/create/create_dummy_lfm2_audio_models.py b/test/python/create/create_dummy_lfm2_audio_models.py index 31321ea825..658775f598 100644 --- a/test/python/create/create_dummy_lfm2_audio_models.py +++ b/test/python/create/create_dummy_lfm2_audio_models.py @@ -162,7 +162,7 @@ def create_genai_config(output_path: str): "layer_types": LAYER_TYPES, "conv_cache_size": CONV_CACHE_SIZE, }, - "eos_token_id": 7, + "eos_token_id": [7, 128, 130], # <|im_end|>, <|audio_start|>, <|text_end|>: what the builder writes "pad_token_id": 0, "type": "lfm2_audio", "vocab_size": VOCAB_SIZE, diff --git a/test/python/models/test_lfm2_audio_models.py b/test/python/models/test_lfm2_audio_models.py index f011d9788f..68a673f35a 100644 --- a/test/python/models/test_lfm2_audio_models.py +++ b/test/python/models/test_lfm2_audio_models.py @@ -61,10 +61,13 @@ # The tokenizer is checked in zipped: its 4.8 MB of vocabulary compresses to under 1 MB, and no test -# reads it as text. Refresh it with, from the model directory, -# python -c "import zipfile; \ -# [zipfile.ZipFile('tokenizer.zip', 'w').writestr(n, open(n, 'rb').read()) for n in NAMES]" -# or take a fresh copy from LiquidAI/LFM2.5-Audio-1.5B. +# reads it as text. The files come from LiquidAI/LFM2.5-Audio-1.5B. To rebuild the same bytes: +# import zipfile +# with zipfile.ZipFile("tokenizer.zip", "w", zipfile.ZIP_DEFLATED, compresslevel=9) as archive: +# for name in ("tokenizer.json", "tokenizer_config.json"): +# info = zipfile.ZipInfo(name, date_time=(1980, 1, 1, 0, 0, 0)) +# info.compress_type, info.external_attr = zipfile.ZIP_DEFLATED, 0o644 << 16 +# archive.writestr(info, open(name, "rb").read(), compresslevel=9) TOKENIZER_ARCHIVE = "tokenizer.zip" TOKENIZER_FILES = ("tokenizer.json", "tokenizer_config.json") @@ -658,6 +661,8 @@ def test_lfm2_audio_features_follow_the_clip_order(test_data_path, tmp_path): def _generate_with_eos(model_path, clip, eos, num_tokens): + """Greedy generation from a copied model directory, stopping on the token ids in `eos`.""" + _edit_json(model_path / "genai_config.json", lambda config: config["model"].update({"eos_token_id": eos})) model = og.Model(os.fspath(model_path)) processor = model.create_multimodal_processor() inputs = processor(AUDIO_MARKER, audios=og.Audios.open(clip)) @@ -686,7 +691,6 @@ def test_lfm2_audio_generation_stops_when_the_model_starts_speaking(test_data_pa stop_token = unrestricted[5] first = unrestricted.index(stop_token) - _edit_json(model_path / "genai_config.json", lambda config: config["model"].update({"eos_token_id": [stop_token]})) stopped = _generate_with_eos(model_path, clip, [stop_token], num_tokens=40) @@ -701,10 +705,6 @@ def test_lfm2_audio_modality_stops_leave_normal_stopping_alone(test_data_path, t switches = [AUDIO_START_TOKEN_ID, TEXT_END_TOKEN_ID] without = _generate_with_eos(model_path, clip, [7], num_tokens=25) - _edit_json( - model_path / "genai_config.json", - lambda config: config["model"].update({"eos_token_id": [7, *switches]}), - ) with_switch_stops = _generate_with_eos(model_path, clip, [7, *switches], num_tokens=25) assert not set(switches) & set(without), "the fixture is not expected to emit the switch tokens" @@ -717,6 +717,7 @@ def test_lfm2_audio_fixture_config_is_what_the_builder_writes(test_data_path): config = json.loads((Path(_model_path(test_data_path)) / "genai_config.json").read_text()) assert config["model"]["type"] == "lfm2_audio" assert config["model"]["audio_token_id"] == AUDIO_TOKEN_ID + assert config["model"]["eos_token_id"] == [7, AUDIO_START_TOKEN_ID, TEXT_END_TOKEN_ID] def _two_clip_inputs(model_path, tmp_path): @@ -764,16 +765,17 @@ def test_lfm2_audio_rejects_inconsistent_speech_inputs(test_data_path, tmp_path, _set_inputs(model, inputs) -def test_lfm2_audio_several_clips_reject_beam_search(test_data_path, tmp_path): - # The clips of one prompt are concatenated into a single feature buffer, which only holds for a - # batch of one; a wider buffer would need the whole encoder run repeated per beam. - clips = [_write_wav(tmp_path / f"{i}.wav", _synthetic_signal(1.5 - 0.5 * i, seed=60 + i)) for i in range(2)] +@pytest.mark.parametrize("num_clips", [0, 1, 2], ids=["text", "one-clip", "two-clips"]) +def test_lfm2_audio_rejects_beam_search(test_data_path, tmp_path, num_clips): + # Without the check a single clip fails with a shape mismatch from inside the encoder. + clips = [_write_wav(tmp_path / f"{i}.wav", _synthetic_signal(1.5 - 0.5 * i, seed=60 + i)) for i in range(num_clips)] model = og.Model(_model_path(test_data_path)) - inputs = model.create_multimodal_processor()(f"{AUDIO_MARKER} and {AUDIO_MARKER}", audios=og.Audios.open(*clips)) + prompt = "Hi " + " and ".join([AUDIO_MARKER] * num_clips) + inputs = model.create_multimodal_processor()(prompt, audios=og.Audios.open(*clips) if clips else None) params = og.GeneratorParams(model) params.set_search_options(do_sample=False, max_length=4096, num_beams=2) - with pytest.raises(RuntimeError, match="need a batch size of 1"): + with pytest.raises(RuntimeError, match="beam search is not supported for lfm2_audio; got num_beams 2"): og.Generator(model, params).set_inputs(inputs) diff --git a/test/python/test_onnxruntime_genai_api.py b/test/python/test_onnxruntime_genai_api.py index 4f0f851f78..e860f74b75 100644 --- a/test/python/test_onnxruntime_genai_api.py +++ b/test/python/test_onnxruntime_genai_api.py @@ -67,6 +67,15 @@ def test_tokenizer_create_from_config_and_path(test_data_path): assert tokenizer_from_path.decode(tokenizer_from_config.encode(text)) == text +def test_tokenizer_decodes_no_tokens_to_an_empty_string(test_data_path): + # What is left after the prompt when generation stops on its first token; it used to SIGFPE. + model_path = os.fspath(Path(test_data_path) / "models" / "hf-internal-testing" / "tiny-random-gpt2-fp32") + tokenizer = og.Tokenizer(model_path) + + assert tokenizer.decode(np.array([], dtype=np.int32)) == "" + assert tokenizer.decode(np.arange(4, dtype=np.int32)[4:]) == "" + + def test_telemetry_control(): og.disable_telemetry_events() og.enable_telemetry_events() From 04f8921defd5430bdc8638f373a1d6ad4524b7ea Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Sun, 20 Sep 2026 23:53:58 -0400 Subject: [PATCH 13/23] fix: refuse LoRA adapters for LFM2-Audio instead of misapplying them A fine-tune of these checkpoints keys its adapter "lfm.*", which matches nothing in the Lfm2ForCausalLM the builder loads. PEFT only warns, so the export carried untrained LoRA weights and the build still succeeded. The shared load_adapter step existed only to reach that path, so base.py goes back to what main has. --- examples/python/lfm2-audio-tutorial.md | 4 ++++ src/python/py/models/builders/base.py | 7 ------ src/python/py/models/builders/lfm2.py | 7 +++++- test/python/builder/test_lfm2_audio.py | 32 ++++---------------------- 4 files changed, 15 insertions(+), 35 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index bc76d8fe2e..241b04bd56 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -360,6 +360,10 @@ the model and not this runtime: the reference implementation, given the same two `ChatState.add_audio`, produces the same tokens exactly, in both orders. Transcribe one clip per request. +**LoRA adapters are not supported.** The builder refuses `adapter_path` for these checkpoints: an +adapter trained on them names the decoder `lfm.*`, which does not match the decoder the builder +loads. Merge the adapter into the checkpoint first. + **More than two channels has to be downmixed first.** Mono and stereo are handled: a stereo clip is mixed down and reaches the front end at its true length. Wider audio is not — the decoder deinterleaves it as though it were stereo, so a six channel clip arrives three times too long and diff --git a/src/python/py/models/builders/base.py b/src/python/py/models/builders/base.py index 26515544df..9763ca12c6 100644 --- a/src/python/py/models/builders/base.py +++ b/src/python/py/models/builders/base.py @@ -5958,13 +5958,6 @@ def load_weights(self, input_path): **extra_kwargs, ) - return self.load_adapter(model) - - def load_adapter(self, model): - """Wraps a loaded PyTorch model with the LoRA adapter named by `adapter_path`, if any. - - Every `load_weights` override has to end with this, or the adapter is silently dropped. - """ if "adapter_path" in self.extra_options: from peft import PeftModel diff --git a/src/python/py/models/builders/lfm2.py b/src/python/py/models/builders/lfm2.py index 33610263dd..a87a1766a4 100644 --- a/src/python/py/models/builders/lfm2.py +++ b/src/python/py/models/builders/lfm2.py @@ -245,6 +245,11 @@ def update_genai_config(self, genai_config): genai_config["model"]["eos_token_id"] = eos_token_ids def load_weights(self, input_path): + # A fine-tune of these checkpoints names the decoder "lfm.*", which matches nothing in the + # Lfm2ForCausalLM loaded here: PEFT only warns, and the export would carry untrained LoRA weights. + if "adapter_path" in self.extra_options: + raise ValueError("LoRA adapters are not supported for LFM2-Audio checkpoints; merge the adapter first.") + if input_path.endswith(".gguf") or self.quant_type is not None: return super().load_weights(input_path) @@ -262,7 +267,7 @@ def load_weights(self, input_path): f"The LFM2 decoder of {input_path} does not match its config: missing {sorted(missing)}, unexpected {sorted(unexpected)}." ) model.tie_weights() - return self.load_adapter(model.eval()) + return model.eval() def load_lfm2_audio_checkpoint(self, input_path): """The checkpoint tensors, from a local directory or the Hugging Face Hub.""" diff --git a/test/python/builder/test_lfm2_audio.py b/test/python/builder/test_lfm2_audio.py index ddc9262783..bac381a762 100644 --- a/test/python/builder/test_lfm2_audio.py +++ b/test/python/builder/test_lfm2_audio.py @@ -269,36 +269,14 @@ def fail(*args, **kwargs): assert type(loaded).__name__ == "Lfm2ForCausalLM" -def test_lfm2_audio_load_weights_applies_the_lora_adapter(monkeypatch, tmp_path): - # `load_weights` is overridden for these checkpoints, so it has to apply `adapter_path` itself; - # returning the bare decoder would drop the adapter without a word. +def test_lfm2_audio_load_weights_refuses_a_lora_adapter(tmp_path): + # An adapter trained on these checkpoints is keyed "lfm.*" and matches nothing in the decoder + # loaded here, so PEFT would attach untrained weights with only a warning. _write_checkpoint(tmp_path) - wrapped = [] - - class FakePeftModel: - @classmethod - def from_pretrained(cls, model, adapter_path, **kwargs): - wrapped.append((model, adapter_path, kwargs)) - return "adapted" - - peft = types.ModuleType("peft") - peft.PeftModel = FakePeftModel - monkeypatch.setitem(sys.modules, "peft", peft) - builder = _audio_builder(tmp_path, {"adapter_path": "some/adapter"}) - loaded = builder.load_weights(str(tmp_path)) - - assert loaded == "adapted" - model, adapter_path, kwargs = wrapped[0] - assert type(model).__name__ == "Lfm2ForCausalLM" - assert adapter_path == "some/adapter" - assert kwargs == {"cache_dir": builder.cache_dir, "token": True} - -def test_lfm2_audio_load_weights_without_an_adapter_returns_the_decoder(tmp_path): - _write_checkpoint(tmp_path) - loaded = _audio_builder(tmp_path).load_weights(str(tmp_path)) - assert type(loaded).__name__ == "Lfm2ForCausalLM" + with pytest.raises(ValueError, match="LoRA adapters are not supported for LFM2-Audio"): + builder.load_weights(str(tmp_path)) @pytest.mark.parametrize( From 3b655e5bfef9188c76c942002580bb6c587c6a19 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Mon, 21 Sep 2026 00:09:45 -0400 Subject: [PATCH 14/23] fix: resample LFM2-Audio clips the way the reference does The audio decoder's resampler is a different filter from the torchaudio one liquid-audio uses: on the reference's own 24 kHz Japanese clip the log-mel frames differed by up to 2 and one homophone came out differently. Clips are now decoded at their own rate and resampled with a port of torchaudio's windowed sinc, which matches token for token and also takes audio below 16 kHz. --- examples/python/lfm2-audio-tutorial.md | 13 ++- .../preprocessing/lfm2_audio_processor.cpp | 80 ++++++++++++++++--- .../preprocessing/lfm2_audio_processor.h | 5 ++ test/cpp/lfm2_audio_frames_test.cpp | 30 +++++++ test/python/models/test_lfm2_audio_models.py | 78 +++++++++++++----- 5 files changed, 167 insertions(+), 39 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index 241b04bd56..ec72f8c58e 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -301,6 +301,9 @@ routine of its own. Only the first produces text alone, so only the first runs h **ASR** is the supported path, and matches the reference token for token. +`LFM2.5-Audio-1.5B-JP` takes its own prompts, `Perform ASR in japanese.` and +`Perform TTS in japanese.`; the rest of this section applies to it unchanged. + Two tokens mark the turn passing from text to speech, and the builder puts both in `eos_token_id`: `<|audio_start|>` when the rest of the answer is spoken, and `<|text_end|>` when the text half of an interleaved answer is done. The positions after either are audio codes meant for the depthformer this @@ -371,10 +374,6 @@ garbled, and transcribes to nonsense. Nothing in the decoder's interface reports file had, so this cannot be caught and refused here. Mix down to mono or stereo before passing the file in. -**Audio below 16 kHz is refused.** The decoder resamples down to the encoder's rate and mixes to -mono, but it does not resample upwards, so 8 kHz telephone audio has to be resampled before it gets -here. The processor says so, naming the clip. - **Audio is not chunked.** The whole clip goes through the encoder in one run, and one hour of audio is 450k mel frames, so memory grows with the clip length. The reference implementation has the same shape; for long-form transcription, split the audio yourself. @@ -383,5 +382,11 @@ shape; for long-form transcription, split the audio yourself. float32 where the reference uses float64 intermediates in places, and the FFT is a different implementation. The difference is far below the audio's own quantization noise. +**Resampling is the reference's.** A clip at any other rate is decoded at its own rate and brought to +16 kHz with `torchaudio`'s resampler (Hann-windowed sinc), upwards as well as downwards, which is what +`ChatState.add_audio` does. The audio decoder's own resampler is a different filter and changes the +log-mel frames by up to about 2, enough to flip a token: on the reference's 24 kHz `asr_jp.wav` it +turned one homophone, and resampled this way the transcript matches token for token. + **Dither is off, as in the reference's eval mode.** NeMo adds 1e-5 of white noise to the samples during training only; the runtime never does. diff --git a/src/models/preprocessing/lfm2_audio_processor.cpp b/src/models/preprocessing/lfm2_audio_processor.cpp index e9e00772d5..5c9f578360 100644 --- a/src/models/preprocessing/lfm2_audio_processor.cpp +++ b/src/models/preprocessing/lfm2_audio_processor.cpp @@ -10,6 +10,7 @@ #include #include #include +#include namespace Generators { @@ -91,6 +92,60 @@ int64_t Lfm2AudioNumTokens(int64_t num_mel_frames, int64_t subsampling_factor) { return (num_mel_frames + subsampling_factor - 1) / subsampling_factor; } +std::vector ResampleLfm2Audio(const float* pcm, int64_t num_samples, int64_t source_rate, int64_t target_rate) { + if (source_rate <= 0 || target_rate <= 0) { + throw std::runtime_error("Lfm2AudioProcessor: cannot resample from " + std::to_string(source_rate) + " Hz to " + + std::to_string(target_rate) + " Hz."); + } + if (source_rate == target_rate) { + return {pcm, pcm + num_samples}; + } + + constexpr double kPi = 3.14159265358979323846; + constexpr double kLowpassFilterWidth = 6.0; + constexpr double kRolloff = 0.99; + const int64_t divisor = std::gcd(source_rate, target_rate); + const int64_t orig = source_rate / divisor; + const int64_t target = target_rate / divisor; + const double base_freq = static_cast(std::min(orig, target)) * kRolloff; + const int64_t width = static_cast(std::ceil(kLowpassFilterWidth * static_cast(orig) / base_freq)); + const int64_t kernel_size = 2 * width + orig; + + // One kernel per output phase, built in double and stored in float as torchaudio does. + std::vector kernels(static_cast(target * kernel_size)); + for (int64_t phase = 0; phase < target; ++phase) { + for (int64_t k = 0; k < kernel_size; ++k) { + double t = (-static_cast(phase) / static_cast(target) + + static_cast(k - width) / static_cast(orig)) * + base_freq; + t = std::clamp(t, -kLowpassFilterWidth, kLowpassFilterWidth); + const double window = std::pow(std::cos(t * kPi / kLowpassFilterWidth / 2.0), 2.0); + t *= kPi; + const double sinc = t == 0.0 ? 1.0 : std::sin(t) / t; + kernels[static_cast(phase * kernel_size + k)] = + static_cast(sinc * window * base_freq / static_cast(orig)); + } + } + + std::vector padded(static_cast(width + num_samples + width + orig), 0.0f); + std::copy(pcm, pcm + num_samples, padded.begin() + width); + + // ceil(target * num_samples / orig) samples; the strided convolution makes a few more, which + // torchaudio trims. + const int64_t num_outputs = (target * num_samples + orig - 1) / orig; + std::vector resampled(static_cast(num_outputs)); + for (int64_t i = 0; i < num_outputs; ++i) { + const float* frame = padded.data() + (i / target) * orig; + const float* kernel = kernels.data() + (i % target) * kernel_size; + float value = 0.0f; + for (int64_t k = 0; k < kernel_size; ++k) { + value += frame[k] * kernel[k]; + } + resampled[static_cast(i)] = value; + } + return resampled; +} + std::vector ComputeLfm2AudioMel(const float* pcm, int64_t num_samples, const Lfm2AudioMelConfig& config, int64_t& num_frames) { if (config.num_mels <= 0 || config.fft_size <= 0 || config.hop_length <= 0 || config.win_length < 2 || @@ -227,19 +282,11 @@ Lfm2AudioProcessor::Lfm2AudioProcessor(Config& config, const SessionInfo& sessio } Lfm2AudioProcessor::ClipMel Lfm2AudioProcessor::ComputeClipMel(const Audios& audios, size_t index) const { + // Decoded at the file's own rate and resampled here, the way the reference does it: the decoder's + // resampler is a different filter, enough to change a token, and it cannot resample upwards. ort_extensions::OrtxObjectPtr decoded; - // The decoder resamples down to the encoder's rate and mixes to mono, but it cannot upsample: - // say which clip it was and what to do about it, rather than passing its bare message through. - try { - CheckResult(OrtxDecodeAudio(audios.audios_.get(), index, static_cast(mel_config_.sample_rate), - /*stereo_to_mono=*/1, decoded.ToBeAssigned())); - } catch (const std::exception& e) { - throw std::runtime_error("Lfm2AudioProcessor: could not decode audio clip " + std::to_string(index) + " at " + - std::to_string(mel_config_.sample_rate) + - " Hz. A clip recorded below that rate has to be resampled up to it first, as the " - "decoder only resamples downwards. The decoder reported: " + - e.what()); - } + CheckResult(OrtxDecodeAudio(audios.audios_.get(), index, /*target_sample_rate=*/0, /*stereo_to_mono=*/1, + decoded.ToBeAssigned())); ort_extensions::OrtxObjectPtr pcm_tensor; CheckResult(OrtxTensorResultGetAt(decoded.get(), 0, pcm_tensor.ToBeAssigned())); @@ -258,8 +305,15 @@ Lfm2AudioProcessor::ClipMel Lfm2AudioProcessor::ComputeClipMel(const Audios& aud std::to_string(index) + ", got a rank " + std::to_string(pcm_dims) + " tensor."); } + ort_extensions::OrtxObjectPtr rate_tensor; + CheckResult(OrtxTensorResultGetAt(decoded.get(), 1, rate_tensor.ToBeAssigned())); + const int64_t* source_rate{}; + CheckResult(OrtxGetTensorData(rate_tensor.get(), reinterpret_cast(&source_rate), nullptr, nullptr)); + + const std::vector samples = ResampleLfm2Audio(pcm, num_samples, *source_rate, mel_config_.sample_rate); + ClipMel clip; - clip.mel = ComputeLfm2AudioMel(pcm, num_samples, mel_config_, clip.num_frames); + clip.mel = ComputeLfm2AudioMel(samples.data(), static_cast(samples.size()), mel_config_, clip.num_frames); clip.num_tokens = Lfm2AudioNumTokens(clip.num_frames, subsampling_factor_); return clip; } diff --git a/src/models/preprocessing/lfm2_audio_processor.h b/src/models/preprocessing/lfm2_audio_processor.h index da9b2a8651..e42d4d611a 100644 --- a/src/models/preprocessing/lfm2_audio_processor.h +++ b/src/models/preprocessing/lfm2_audio_processor.h @@ -40,6 +40,11 @@ int64_t Lfm2AudioNumValidMelFrames(int64_t num_samples, const Lfm2AudioMelConfig // with ceil rounding (three stride-2 convolutions with padding 1 for the shipped models). int64_t Lfm2AudioNumTokens(int64_t num_mel_frames, int64_t subsampling_factor); +// torchaudio.functional.resample with its defaults (Hann-windowed sinc, lowpass_filter_width 6, +// rolloff 0.99), which is what the reference's ChatState.add_audio brings every clip to the +// encoder's rate with, upwards as well as downwards. +std::vector ResampleLfm2Audio(const float* pcm, int64_t num_samples, int64_t source_rate, int64_t target_rate); + // Computes the normalized log-mel spectrogram of one mono clip, time-major [num_frames, num_mels], // the layout the encoder's mel_spectrogram input takes. Throws if the clip is too short to // normalize (fewer than two valid frames). diff --git a/test/cpp/lfm2_audio_frames_test.cpp b/test/cpp/lfm2_audio_frames_test.cpp index a03978fb53..69067c887f 100644 --- a/test/cpp/lfm2_audio_frames_test.cpp +++ b/test/cpp/lfm2_audio_frames_test.cpp @@ -154,4 +154,34 @@ TEST(Lfm2AudioPromptTest, RejectsAMarkerCountThatDoesNotMatchTheClips) { std::string::npos); } +TEST(Lfm2AudioResampleTest, SameRateIsACopy) { + const std::vector samples{0.1f, -0.2f, 0.3f}; + EXPECT_EQ(ResampleLfm2Audio(samples.data(), 3, 16000, 16000), samples); +} + +TEST(Lfm2AudioResampleTest, LengthIsTheCeilingOfTheRateRatio) { + // torchaudio trims to ceil(target * num_samples / source), up as well as down. + const std::vector samples(1001, 0.0f); + EXPECT_EQ(ResampleLfm2Audio(samples.data(), 1001, 44100, 16000).size(), 364u); + EXPECT_EQ(ResampleLfm2Audio(samples.data(), 1001, 48000, 16000).size(), 334u); + EXPECT_EQ(ResampleLfm2Audio(samples.data(), 1001, 8000, 16000).size(), 2002u); +} + +TEST(Lfm2AudioResampleTest, KeepsAConstantSignalConstantAwayFromTheEdges) { + // The kernels of every output phase sum to one, so only the zero padding at the ends shows. + const std::vector samples(4410, 0.5f); + for (const int64_t source_rate : {8000, 22050, 44100}) { + const auto resampled = ResampleLfm2Audio(samples.data(), 4410, source_rate, 16000); + for (size_t i = resampled.size() / 4; i < 3 * resampled.size() / 4; ++i) { + ASSERT_NEAR(resampled[i], 0.5f, 2e-3f) << source_rate << " Hz, sample " << i; + } + } +} + +TEST(Lfm2AudioResampleTest, RejectsARateThatIsNotPositive) { + const std::vector samples(16, 0.0f); + EXPECT_NE(CaptureThrowMessage([&] { ResampleLfm2Audio(samples.data(), 16, 0, 16000); }).find("cannot resample"), + std::string::npos); +} + } // namespace Generators::test diff --git a/test/python/models/test_lfm2_audio_models.py b/test/python/models/test_lfm2_audio_models.py index 68a673f35a..75bea66c23 100644 --- a/test/python/models/test_lfm2_audio_models.py +++ b/test/python/models/test_lfm2_audio_models.py @@ -196,6 +196,33 @@ def _reference_mel( return normalized.astype(np.float32) +def _reference_resample(samples: np.ndarray, source_rate: int, target_rate: int = SAMPLE_RATE) -> np.ndarray: + """torchaudio.functional.resample with its defaults, which liquid-audio's ChatState.add_audio uses. + + A Hann-windowed sinc with lowpass_filter_width 6 and rolloff 0.99: one kernel per output phase, + built in float64 and applied in float32, strided over the zero-padded input. + """ + if source_rate == target_rate: + return samples + divisor = math.gcd(source_rate, target_rate) + orig, new = source_rate // divisor, target_rate // divisor + base_freq = min(orig, new) * 0.99 + width = math.ceil(6 * orig / base_freq) + idx = np.arange(-width, width + orig, dtype=np.float64) / orig + t = (np.arange(0, -new, -1, dtype=np.float64)[:, None] / new + idx[None, :]) * base_freq + t = t.clip(-6, 6) + window = np.cos(t * np.pi / 6 / 2) ** 2 + t *= np.pi + kernels = (np.where(t == 0, 1.0, np.sin(t) / np.where(t == 0, 1.0, t)) * window * base_freq / orig).astype( + np.float32 + ) + + padded = np.pad(samples.astype(np.float32), (width, width + orig)) + steps = len(samples) // orig + 1 + frames = np.lib.stride_tricks.sliding_window_view(padded, 2 * width + orig)[::orig][:steps] + return (frames @ kernels.T).reshape(-1)[: math.ceil(new * len(samples) / orig)] + + def _process(model_path: str, prompt: str, audios): model = og.Model(model_path) inputs = model.create_multimodal_processor()(prompt, audios=audios) @@ -298,34 +325,41 @@ def test_lfm2_audio_open_bytes_matches_open(test_data_path, tmp_path): np.testing.assert_array_equal(from_bytes["audio_sizes"].as_numpy(), from_path["audio_sizes"].as_numpy()) -@pytest.mark.parametrize("source_rate", [22050, 44100, 48000]) -def test_lfm2_audio_resamples_to_the_encoder_rate(test_data_path, tmp_path, source_rate): - # Whatever the file's rate, the clip reaches the mel front end at the encoder's 16 kHz, so the - # frame count follows the resampled length rather than the original sample count. - seconds = 0.75 - samples = _synthetic_signal(seconds, seed=8)[: int(seconds * source_rate)] - if source_rate > SAMPLE_RATE: # _synthetic_signal only makes 16 kHz worth of samples - samples = np.interp( - np.linspace(0, 1, int(seconds * source_rate)), np.linspace(0, 1, samples.size), samples - ).astype(np.float32) +def _signal_at(source_rate: int, seconds: float, seed: int) -> np.ndarray: + """`_synthetic_signal` stretched to another rate, quantized to 16-bit like the WAV that carries it.""" + base = _synthetic_signal(seconds, seed=seed) + stretched = np.interp(np.linspace(0, 1, int(seconds * source_rate)), np.linspace(0, 1, base.size), base) + return (np.round(stretched * 32768.0).clip(-32768, 32767) / 32768.0).astype(np.float32) + + +@pytest.mark.parametrize("source_rate", [8000, 22050, 24000, 44100, 48000]) +def test_lfm2_audio_resamples_the_way_the_reference_does(test_data_path, tmp_path, source_rate): + # The clip is decoded at its own rate and brought to the encoder's 16 kHz with torchaudio's + # resampler, upwards as well as downwards, as ChatState.add_audio does. The decoder's own + # resampler is a different filter: near enough to transcribe, far enough to change a token. + samples = _signal_at(source_rate, 0.75, seed=8) clip = _write_wav(tmp_path / "clip.wav", samples, sample_rate=source_rate) _, inputs = _process(_model_path(test_data_path), AUDIO_MARKER, og.Audios.open(clip)) - resampled_length = round(samples.size * SAMPLE_RATE / source_rate) - num_frames = int(inputs["audio_lengths"].as_numpy()[0]) - # The resampler may land a sample either side of the exact ratio, so allow one hop of slack. - assert abs(num_frames - _num_frames(resampled_length)) <= 1, f"{num_frames} frames for {resampled_length} samples" - assert inputs["audio_embeds"].as_numpy().shape == (1, num_frames, NUM_MELS) - assert int(inputs["audio_sizes"].as_numpy()[0]) == math.ceil(num_frames / SUBSAMPLING_FACTOR) + resampled = _reference_resample(samples, source_rate) + assert len(resampled) == math.ceil(len(samples) * SAMPLE_RATE / source_rate) + np.testing.assert_array_equal(inputs["audio_lengths"].as_numpy(), [_num_frames(len(resampled))]) + np.testing.assert_array_equal(inputs["audio_sizes"].as_numpy(), [_num_tokens(len(resampled))]) + np.testing.assert_allclose(inputs["audio_embeds"].as_numpy()[0], _reference_mel(resampled), atol=2e-3) -def test_lfm2_audio_rejects_a_clip_recorded_below_the_encoder_rate(test_data_path, tmp_path): - # The decoder resamples downwards only, so 8 kHz telephone audio cannot be read as 16 kHz. The - # message has to name the clip and say what to do, not just repeat the decoder's complaint. - clip = _write_wav(tmp_path / "telephone.wav", _synthetic_signal(0.5, seed=11)[:4000], sample_rate=8000) - with pytest.raises(RuntimeError, match="could not decode audio clip 0 at 16000 Hz.*resampled up"): - _process(_model_path(test_data_path), AUDIO_MARKER, og.Audios.open(clip)) +@pytest.mark.parametrize("source_rate", [8000, 44100]) +def test_lfm2_audio_reference_resampler_is_torchaudio(source_rate): + """The numpy resampler above against the real one, when torchaudio is installed.""" + torch = pytest.importorskip("torch") + torchaudio = pytest.importorskip("torchaudio") + samples = _signal_at(source_rate, 0.5, seed=14) + + expected = torchaudio.functional.resample(torch.from_numpy(samples)[None], source_rate, SAMPLE_RATE)[0].numpy() + + # Float32 sums taken in a different order. + np.testing.assert_allclose(_reference_resample(samples, source_rate), expected, atol=1e-5) @pytest.mark.parametrize( From e9143f8b4a65bb5d5d0a311ea3662da65a740689 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Mon, 21 Sep 2026 01:01:37 -0400 Subject: [PATCH 15/23] docs: interleaved mode is not usable here, measured against the reference Step-by-step text logits against liquid-audio: ASR and plain chat agree to 6e-4 and every token matches on the reference's own question.wav and typed questions; TTS matches at its single text step in all four voices. Interleaved matches for the six tokens before the reference first feeds audio back, then degenerates into the non-breaking-space token on three of four questions, so the tutorial now says to leave the system prompt out for a text answer instead. --- examples/python/lfm2-audio-tutorial.md | 48 +++++++++++++------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index ec72f8c58e..43ca267af8 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -201,7 +201,7 @@ produced. Leave the `decoder` and `search` sections it wrote alone: Keep the `eos_token_id` list the builder wrote. Besides `<|im_end|>` (7) it holds `<|audio_start|>` (128) and `<|text_end|>` (130), where the model turns from text to speech; without them generation runs on into positions meant for the audio head and returns fluent nonsense. See -[the three modes](#the-models-three-modes). +[the modes](#the-models-modes). `filename` is whatever the encoder file is called on disk — keep the name it was published under, for the reason in [Choose the precisions](#4-choose-the-precisions). @@ -288,18 +288,21 @@ Perform ASR.<|im_end|> <|im_start|>assistant ``` -### The model's three modes +### The model's modes The system prompt picks the task, and the reference implementation pairs each with a generation -routine of its own. Only the first produces text alone, so only the first runs here in full: +routine of its own. Text comes out of two of them here: | Mode | System prompt | Reference routine | Output | Here | | --- | --- | --- | --- | --- | +| Chat | none | `generate_sequential` | text | works | | ASR | `Perform ASR.` | `generate_sequential` | text | works | | TTS | `Perform TTS. Use the UK male voice.` (also US male, US female, UK female) | `generate_sequential` | speech | stops immediately | -| Interleaved | `Respond with interleaved text and audio.` | `generate_interleaved` | text and speech, alternating | the text answer; none of the speech | +| Interleaved | `Respond with interleaved text and audio.` | `generate_interleaved` | text and speech, alternating | six tokens, then nonsense: do not use | -**ASR** is the supported path, and matches the reference token for token. +**ASR** and **chat** are the supported paths. A spoken or typed question with no system prompt gets a +text answer, and both match the reference step for step: on the reference's own `question.wav` and +three typed questions the text logits agree to within 6e-4 and every token is the same. `LFM2.5-Audio-1.5B-JP` takes its own prompts, `Perform ASR in japanese.` and `Perform TTS in japanese.`; the rest of this section applies to it unchanged. @@ -313,22 +316,19 @@ generation ends there with whatever text came first. **TTS** produces nothing here, and there is no text to be had: asked to speak a sentence, the whole text stream the model emits is `<|audio_start|>` followed by `<|im_end|>`, everything in between being audio. Generation stops on that first token, and the stop token is not added to the sequence, -so there is nothing after the prompt to decode: expect an empty string. A sequential answer that begins in text and turns -to speech part way keeps the text it had before the switch. - -**Interleaved** gives the text answer and none of the speech. Asked a spoken question, the model -writes its answer, emits `<|text_end|>`, and says the rest aloud; generation stops at that token, so -what comes back is the answer itself. Asked *What is the capital of France?*, this runtime returns -`The capital of France is Paris` — the same text the reference produced before it began speaking, -which it then spoke. - -Between those text tokens the reference is also emitting audio, six text tokens at a time against -`interleaved_n_audio` audio frames (12, or 9 for the JP checkpoint), and that speech feeds back into -the context. So the text can depend on audio this runtime never generates: on a ten second clip with -no question in it, the reference wrote 29 text tokens with the sampling the model card gives and 54 -with the audio taken greedily, and this runtime matched the first 29 and stopped. Short answers to -spoken questions come through whole; a long turn is the model's answer as far as it gets, not a -reproduction of any one interleaved run. +so there is nothing after the prompt to decode: expect an empty string. The first-step logits match +the reference to 4e-5 in all four voices. + +**Interleaved** is not usable here. The reference writes `interleaved_n_text` text tokens (six), +then `interleaved_n_audio` audio frames (12, or 9 for the JP checkpoint) whose embeddings go back +into the context, then six more text tokens, and so on. This runtime has no audio frames to feed, so +after the sixth token it keeps reading the text head at positions the model means for speech. The +first six tokens match the reference exactly; from the seventh the output is mostly the +non-breaking-space token, with the odd word between. Asked *Name three primary colors.*, the reference +writes *Red, blue, and yellow are the three primary colors…* and this runtime writes +*Red, blue, and yellow* followed by a hundred `\xa0`. Only an answer that fits in six tokens plus +`<|text_end|>` survives (*The capital of France is Paris*). For a text answer, leave the system prompt +out and use chat mode, which is the same model answering the same question in text. Sampling: the reference generates text greedily in every mode, so `do_sample=False` is right here. The temperatures and `top_k` values quoted for the model (`audio_temperature=0.8, audio_top_k=64` @@ -346,9 +346,9 @@ that sentence exactly, punctuation included. The two voices are different wavefo carries more of its energy below 1 kHz than the female one, as it should. Asked the spoken question above in interleaved mode, it answered in 41 audio frames ending in the end-of-audio code, 3.2 seconds that read back as *The capital of France is Paris.* ONNX Runtime GenAI's generation loop -samples one token stream, so none of that has a home here yet. Generation -stops at `<|audio_start|>` rather than reading the depthformer's positions off the text head; see -[the three modes](#the-models-three-modes) for what each prompt gives you. LiquidAI ships +samples one token stream, so none of that has a home here yet. Generation stops at `<|audio_start|>` +and `<|text_end|>` rather than reading the depthformer's positions off the text head, and interleaved +mode is out; see [the modes](#the-models-modes) for what each prompt gives you. LiquidAI ships `vocoder_depthformer.onnx` and `audio_detokenizer.onnx` in the ONNX repository, and their [onnx-export](https://github.com/Liquid4All/onnx-export) repository drives them from Python. From 0331edf667bded3953bbf539b5cd4e9a274117b6 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Mon, 21 Sep 2026 01:34:44 -0400 Subject: [PATCH 16/23] feat: speech output for LFM2-Audio, so TTS and interleaved mode work The depthformer turns each decoder hidden state into a frame of eight audio codes, and the frame's embedding is the decoder's next input, with liquid-audio's switching between text and speech: on <|audio_start|> and the end-of-audio code, and by count with search.audio_interleaved. The sequence keeps one placeholder per frame and the codes come from get_output("audio_codes"). With the audio taken greedily on both sides every text token and audio frame matches liquid-audio, once the published depthformer graph is corrected: it never applied its rotary embedding and built the tables for the wrong theta. The tutorial has the fix. --- examples/python/lfm2-audio-tutorial.md | 247 +++++++++++++---- src/config.cpp | 72 +++++ src/config.h | 21 ++ src/models/lfm2_audio_output.cpp | 255 ++++++++++++++++++ src/models/lfm2_audio_output.h | 83 ++++++ src/models/multi_modal.cpp | 59 +++- src/models/multi_modal.h | 10 + .../lfm2-audio/dummy_audio_embedding.onnx | Bin 0 -> 32472 bytes test/models/lfm2-audio/dummy_depthformer.onnx | Bin 0 -> 165323 bytes test/models/lfm2-audio/dummy_text.onnx | Bin 133917 -> 134017 bytes .../create/create_dummy_lfm2_audio_models.py | 95 ++++++- .../create/create_dummy_lfm2_vl_models.py | 16 +- test/python/models/test_lfm2_audio_models.py | 247 +++++++++++++++++ 13 files changed, 1041 insertions(+), 64 deletions(-) create mode 100644 src/models/lfm2_audio_output.cpp create mode 100644 src/models/lfm2_audio_output.h create mode 100644 test/models/lfm2-audio/dummy_audio_embedding.onnx create mode 100644 test/models/lfm2-audio/dummy_depthformer.onnx diff --git a/examples/python/lfm2-audio-tutorial.md b/examples/python/lfm2-audio-tutorial.md index 43ca267af8..e544f493ad 100644 --- a/examples/python/lfm2-audio-tutorial.md +++ b/examples/python/lfm2-audio-tutorial.md @@ -15,11 +15,10 @@ runs the speech-to-text half of it — ASR and spoken-prompt chat — as three O Only the decoder is produced by the model builder in this repository; the speech encoder is published as ONNX by LiquidAI, and the embedding model is a small graph you build once. -**Audio output is not supported.** The model can also *speak*: it emits audio codes through an -RQ-transformer ("depthformer") that ONNX Runtime GenAI has no generation loop for, and those codes -then need the audio detokenizer and an inverse STFT to become a waveform. The export below drops the -depthformer and the audio embeddings with it, so the model answers in text only. See -[Known limitations](#6-known-limitations). +The model can also *speak*. Two more graphs, both published by LiquidAI, give it a voice here: a +depthformer that turns a decoder hidden state into a frame of audio codes, and the audio embedding that +feeds each frame back to the decoder. [Speech output](#6-speech-output) adds them; without them the +model answers in text only. ## Steps @@ -28,7 +27,8 @@ depthformer and the audio embeddings with it, so the model answers in text only. 3. [Write `genai_config.json`](#3-write-genai_configjson) 4. [Choose the precisions](#4-choose-the-precisions) 5. [Run the model](#5-run-the-model) -6. [Known limitations](#6-known-limitations) +6. [Speech output](#6-speech-output) +7. [Known limitations](#7-known-limitations) ## 1. Build the decoder @@ -291,66 +291,197 @@ Perform ASR.<|im_end|> ### The model's modes The system prompt picks the task, and the reference implementation pairs each with a generation -routine of its own. Text comes out of two of them here: +routine of its own: -| Mode | System prompt | Reference routine | Output | Here | -| --- | --- | --- | --- | --- | -| Chat | none | `generate_sequential` | text | works | -| ASR | `Perform ASR.` | `generate_sequential` | text | works | -| TTS | `Perform TTS. Use the UK male voice.` (also US male, US female, UK female) | `generate_sequential` | speech | stops immediately | -| Interleaved | `Respond with interleaved text and audio.` | `generate_interleaved` | text and speech, alternating | six tokens, then nonsense: do not use | +| Mode | System prompt | Reference routine | Output | Text-only build | With [speech output](#6-speech-output) | +| --- | --- | --- | --- | --- | --- | +| Chat | none | `generate_sequential` | text | works | works | +| ASR | `Perform ASR.` | `generate_sequential` | text | works | works | +| TTS | `Perform TTS. Use the UK male voice.` (also US male, US female, UK female) | `generate_sequential` | speech | stops immediately | works | +| Interleaved | `Respond with interleaved text and audio.` | `generate_interleaved` | text and speech, alternating | do not use | works, with `audio_interleaved=True` | -**ASR** and **chat** are the supported paths. A spoken or typed question with no system prompt gets a -text answer, and both match the reference step for step: on the reference's own `question.wav` and -three typed questions the text logits agree to within 6e-4 and every token is the same. +**ASR** and **chat** need nothing more than the three models above. A spoken or typed question with +no system prompt gets a text answer, and both match the reference step for step: on the reference's +own `question.wav` and three typed questions the text logits agree to within 6e-4 and every token is +the same. `LFM2.5-Audio-1.5B-JP` takes its own prompts, `Perform ASR in japanese.` and `Perform TTS in japanese.`; the rest of this section applies to it unchanged. -Two tokens mark the turn passing from text to speech, and the builder puts both in `eos_token_id`: -`<|audio_start|>` when the rest of the answer is spoken, and `<|text_end|>` when the text half of an -interleaved answer is done. The positions after either are audio codes meant for the depthformer this -runtime does not have; read off the text head they decode to fluent, plausible nonsense, so -generation ends there with whatever text came first. - -**TTS** produces nothing here, and there is no text to be had: asked to speak a sentence, the whole -text stream the model emits is `<|audio_start|>` followed by `<|im_end|>`, everything in between -being audio. Generation stops on that first token, and the stop token is not added to the sequence, -so there is nothing after the prompt to decode: expect an empty string. The first-step logits match -the reference to 4e-5 in all four voices. - -**Interleaved** is not usable here. The reference writes `interleaved_n_text` text tokens (six), -then `interleaved_n_audio` audio frames (12, or 9 for the JP checkpoint) whose embeddings go back -into the context, then six more text tokens, and so on. This runtime has no audio frames to feed, so -after the sixth token it keeps reading the text head at positions the model means for speech. The -first six tokens match the reference exactly; from the seventh the output is mostly the -non-breaking-space token, with the odd word between. Asked *Name three primary colors.*, the reference -writes *Red, blue, and yellow are the three primary colors…* and this runtime writes -*Red, blue, and yellow* followed by a hundred `\xa0`. Only an answer that fits in six tokens plus -`<|text_end|>` survives (*The capital of France is Paris*). For a text answer, leave the system prompt -out and use chat mode, which is the same model answering the same question in text. +Two tokens mark the turn passing from text to speech: `<|audio_start|>` when the rest of the answer is +spoken, and `<|text_end|>` when the text half of an interleaved answer is done. In a text-only build +the builder puts both in `eos_token_id`, because the positions after either are audio codes meant for +the depthformer, and read off the text head they decode to fluent, plausible nonsense. + +**TTS** in a text-only build produces nothing: the whole text stream the model emits is +`<|audio_start|>` followed by `<|im_end|>`, everything in between being audio. Generation stops on +that first token, and the stop token is not added to the sequence, so there is nothing after the +prompt to decode: expect an empty string. + +**Interleaved** cannot be used in a text-only build. The reference writes six text tokens, then +`interleaved_n_audio` audio frames (12, or 9 for the JP checkpoint) whose embeddings go back into the +context, then six more text tokens, and so on. Without audio frames to feed, the text head is read at +positions the model means for speech: the first six tokens are right and the rest is mostly the +non-breaking-space token. For a text answer, leave the system prompt out and use chat mode. Sampling: the reference generates text greedily in every mode, so `do_sample=False` is right here. -The temperatures and `top_k` values quoted for the model (`audio_temperature=0.8, audio_top_k=64` -for TTS, `1.0` and `4` for interleaved) apply only to the audio stream, which this runtime does not -produce; they have no text-side equivalent to set. - -## 6. Known limitations - -**Audio output is not supported.** TTS and the speech half of interleaved generation need the -depthformer, which predicts 8 codebook entries per 80 ms audio frame in an inner autoregressive loop, -plus the audio detokenizer to turn those codes into a waveform. That speech is worth having, and it -is good: asked through the reference to say *The quick brown fox jumps over the lazy dog.*, the model -produced about three seconds of 24 kHz audio per voice, and this runtime's own ASR read both back as -that sentence exactly, punctuation included. The two voices are different waveforms, and the male one -carries more of its energy below 1 kHz than the female one, as it should. Asked the spoken question -above in interleaved mode, it answered in 41 audio frames ending in the end-of-audio code, 3.2 -seconds that read back as *The capital of France is Paris.* ONNX Runtime GenAI's generation loop -samples one token stream, so none of that has a home here yet. Generation stops at `<|audio_start|>` -and `<|text_end|>` rather than reading the depthformer's positions off the text head, and interleaved -mode is out; see [the modes](#the-models-modes) for what each prompt gives you. LiquidAI ships -`vocoder_depthformer.onnx` and `audio_detokenizer.onnx` in the ONNX repository, and their -[onnx-export](https://github.com/Liquid4All/onnx-export) repository drives them from Python. +The temperatures and `top_k` values quoted for the model apply to the audio codes only; see +[Speech output](#6-speech-output) for where they go. + +## 6. Speech output + +Speech needs the decoder's hidden states, two more graphs and a few lines of `genai_config.json`. + +**Build the decoder with its hidden states.** The depthformer reads the hidden state the logits are +projected from, so add `include_hidden_states=true`: + +```bash +$ python3 -m onnxruntime_genai.models.builder \ + -i ./lfm2.5-audio/pytorch -o ./lfm2.5-audio/cpu -p int4 -e cpu \ + --extra_options exclude_embeds=true include_hidden_states=true +``` + +**Get the two graphs** from +[LiquidAI/LFM2.5-Audio-1.5B-ONNX](https://huggingface.co/LiquidAI/LFM2.5-Audio-1.5B-ONNX): +`onnx/vocoder_depthformer.onnx` and `onnx/audio_embedding.onnx` (with their `*.onnx_data` files for +the `fp16` and `q4` variants), and `onnx/audio_detokenizer.onnx` for turning the codes into sound +afterwards. Like the encoder they belong to `LFM2.5-Audio-1.5B`; the other checkpoints need their own +export, which LiquidAI's [onnx-export](https://github.com/Liquid4All/onnx-export) produces. + +**Fix the depthformer's rotary embedding.** As published, the graph's attention nodes carry rotary +tables but do not apply them (`do_rotary` is unset), and the tables are computed for `theta` 10000 +where the model uses 1,000,000. The first codebook of each frame sits at position zero and is +unaffected; the other seven come out with logits up to 2.5 away from the PyTorch model's. The speech +is intelligible either way, since the first codebook carries most of what is said, but only the +corrected graph gives the model's own codes: with both fixes every codebook agrees to 1e-5. + +```python +import numpy as np +import onnx +from onnx import helper, numpy_helper + +model = onnx.load("vocoder_depthformer.onnx") +for node in model.graph.node: + if node.op_type == "GroupQueryAttention" and not any(a.name == "do_rotary" for a in node.attribute): + node.attribute.append(helper.make_attribute("do_rotary", 1)) +for table in model.graph.initializer: + if table.name.endswith((".gqa_cos", ".gqa_sin")): + positions, half = numpy_helper.to_array(table).shape + angles = np.outer(np.arange(positions), 1.0 / 1_000_000 ** (np.arange(0, 2 * half, 2) / (2 * half))) + values = np.cos(angles) if table.name.endswith("cos") else np.sin(angles) + table.CopyFrom(numpy_helper.from_array(values.astype(np.float32), table.name)) +onnx.save(model, "vocoder_depthformer.onnx") +``` + +**Add `audio_output` to `genai_config.json`, and take the two switch tokens out of `eos_token_id`.** +They end a text-only answer; here they are where speech begins, and the model is refused if they are +still stop tokens: + +```json +{ + "model": { + "eos_token_id": 7, + "audio_output": { + "depthformer": { "filename": "vocoder_depthformer.onnx" }, + "embedding": { "filename": "audio_embedding.onnx" } + } + } +} +``` + +`audio_output` also takes `num_codebooks` (8), `codebook_size` (2049, the last entry being the +end-of-audio code), `audio_start_token_id` (128), `text_end_token_id` (130), `interleaved_n_text` (6) +and `interleaved_n_audio` (12). The defaults are the published checkpoints'; set +`interleaved_n_audio` to 9 for `LFM2.5-Audio-1.5B-JP`. + +**Generate.** Three search options steer the speech, next to the usual ones: + +| Option | Default | Meaning | +| --- | --- | --- | +| `audio_interleaved` | `false` | Alternate text and speech by count, as `generate_interleaved` does. Leave it off for TTS, ASR and chat, which switch on `<|audio_start|>` alone. | +| `audio_temperature` | `1.0` | Temperature of the audio codes. `0` takes the likeliest code. The model card uses 0.8 for TTS and 1.0 for interleaved. | +| `audio_top_k` | `4` | Audio codes kept when sampling. `1` takes the likeliest code. The model card uses 64 for TTS and 4 for interleaved. | + +The text is still decoded greedily, and `random_seed` seeds the audio codes as well. + +```python +import numpy as np +import onnxruntime_genai as og + +model = og.Model("./lfm2.5-audio/cpu") +processor = model.create_multimodal_processor() +tokenizer = og.Tokenizer(model) + +prompt = ( + "<|startoftext|><|im_start|>system\nRespond with interleaved text and audio.<|im_end|>\n" + "<|im_start|>user\n<|audio|><|im_end|>\n<|im_start|>assistant\n" +) +inputs = processor(prompt, audios=og.Audios.open("question.wav")) +prompt_length = inputs["input_ids"].as_numpy().shape[1] + +params = og.GeneratorParams(model) +params.set_search_options( + do_sample=False, max_length=prompt_length + 512, audio_interleaved=True, audio_temperature=1.0, audio_top_k=4 +) +generator = og.Generator(model, params) +generator.set_inputs(inputs) +while not generator.is_done(): + generator.generate_next_token() + +answer = generator.get_sequence(0)[prompt_length:] +audio_token_id, audio_start, text_end = 133, 128, 130 +text = tokenizer.decode(np.array([t for t in answer if t not in (audio_token_id, audio_start, text_end)], np.int32)) +codes = generator.get_output("audio_codes") # [num_frames, 8] int64, 80 ms of speech per frame +``` + +Each audio frame takes one place in the sequence, held by `audio_token_id`, so `max_length` counts +frames as well as text tokens; twelve and a half frames make a second of speech. The frames themselves +come from `get_output("audio_codes")`, at any point during generation or after it, with the +end-of-audio frames left out. + +**Turn the codes into sound** with `audio_detokenizer.onnx`, which gives the log-magnitude and phase +of a short-time Fourier transform, six columns per frame, and an inverse transform with the +reference's "same" padding. This graph needs no correction: it matches the PyTorch detokenizer to +1e-5. + +```python +import onnxruntime as ort +import soundfile as sf + +n_fft, hop = 1280, 320 +detokenizer = ort.InferenceSession("audio_detokenizer.onnx") +# Only the first codebook carries the end-of-audio code on purpose; the detokenizer takes 0..2047. +features = detokenizer.run(None, {"audio_codes": np.minimum(codes, 2047).T[None]})[0][0] +spectrum = (np.exp(features[:, : n_fft // 2 + 1]) * np.exp(1j * features[:, n_fft // 2 + 1 :])).T + +window = 0.5 - 0.5 * np.cos(2 * np.pi * np.arange(n_fft) / n_fft) # torch.hann_window: periodic +frames = np.fft.irfft(spectrum, n_fft, axis=0) * window[:, None] +wave = np.zeros((frames.shape[1] - 1) * hop + n_fft) +envelope = np.zeros_like(wave) +for t in range(frames.shape[1]): + wave[t * hop : t * hop + n_fft] += frames[:, t] + envelope[t * hop : t * hop + n_fft] += window**2 +pad = (n_fft - hop) // 2 +sf.write("answer.wav", (wave[pad:-pad] / envelope[pad:-pad]).astype(np.float32), 24000) +``` + +**How it compares with the reference.** With the audio codes taken greedily on both sides +(`audio_top_k=1`), so that the two can be compared at all, this runtime reproduces liquid-audio +exactly: every text token and every audio frame of an interleaved answer to the reference's +`question.wav` (200 items, 149 of them frames), of an interleaved answer to a typed question, and of a +TTS sentence. With the model card's sampling the speech reads back through this runtime's own ASR as +the text the model wrote: *Red, blue, and yellow are the three primary colors. Would you like to hear +how they’re used in art?* comes back word for word, and *The quick brown fox jumps over the lazy dog.* +comes back exactly in TTS. + +## 7. Known limitations + +**The waveform is made outside the runtime.** Generation gives audio codes; the detokenizer and the +inverse transform that turn them into sound are the few lines of Python in +[Speech output](#6-speech-output), not part of the generation loop. + +**Speech output is for one sequence.** A batch size of 1 and no beam search, as for speech input. +After an answer that ended in speech, a new turn appended to the same generator starts in text. **One prompt at a time, decoded greedily.** Several clips in one prompt work, but batched prompts and beam search (`num_beams` above 1) are refused; the reference decodes its text greedily too. The diff --git a/src/config.cpp b/src/config.cpp index 8f2ea33af7..1d320981f9 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -1544,6 +1544,68 @@ struct Speech_Element : JSON::Element { SpeechOutputs_Element outputs_{v_.outputs}; }; +struct AudioOutputGraph_Element : JSON::Element { + explicit AudioOutputGraph_Element(Config::Model::AudioOutput::Graph& v) : v_{v} {} + + void OnValue(std::string_view name, JSON::Value value) override { + if (name == "filename") { + v_.filename = JSON::Get(value); + } else { + throw JSON::unknown_value_error{}; + } + } + + Element& OnObject(std::string_view name) override { + if (name == "session_options") { + v_.session_options = Config::SessionOptions{}; + session_options_ = std::make_unique(*v_.session_options); + return *session_options_; + } + throw JSON::unknown_value_error{}; + } + + private: + Config::Model::AudioOutput::Graph& v_; + std::unique_ptr session_options_; +}; + +struct AudioOutput_Element : JSON::Element { + explicit AudioOutput_Element(Config::Model::AudioOutput& v) : v_{v} {} + + void OnValue(std::string_view name, JSON::Value value) override { + if (name == "num_codebooks") { + v_.num_codebooks = SafeDoubleToInt(JSON::Get(value), name); + } else if (name == "codebook_size") { + v_.codebook_size = SafeDoubleToInt(JSON::Get(value), name); + } else if (name == "audio_start_token_id") { + v_.audio_start_token_id = SafeDoubleToInt(JSON::Get(value), name); + } else if (name == "text_end_token_id") { + v_.text_end_token_id = SafeDoubleToInt(JSON::Get(value), name); + } else if (name == "interleaved_n_text") { + v_.interleaved_n_text = SafeDoubleToInt(JSON::Get(value), name); + } else if (name == "interleaved_n_audio") { + v_.interleaved_n_audio = SafeDoubleToInt(JSON::Get(value), name); + } else { + throw JSON::unknown_value_error{}; + } + } + + Element& OnObject(std::string_view name) override { + if (name == "depthformer") { + return depthformer_; + } + if (name == "embedding") { + return embedding_; + } + throw JSON::unknown_value_error{}; + } + + private: + Config::Model::AudioOutput& v_; + AudioOutputGraph_Element depthformer_{v_.depthformer}; + AudioOutputGraph_Element embedding_{v_.embedding}; +}; + struct JoinerInputs_Element : JSON::Element { explicit JoinerInputs_Element(Config::Model::Joiner::Inputs& v) : v_{v} {} @@ -1840,6 +1902,9 @@ struct Model_Element : JSON::Element { if (name == "speech") { return speech_; } + if (name == "audio_output") { + return audio_output_; + } if (name == "joiner") { return joiner_; } @@ -1873,6 +1938,7 @@ struct Model_Element : JSON::Element { Vision_Element vision_{v_.vision}; Embedding_Element embedding_{v_.embedding}; Speech_Element speech_{v_.speech}; + AudioOutput_Element audio_output_{v_.audio_output}; Joiner_Element joiner_{v_.joiner}; VAD_Element vad_{v_.vad}; Mtp_Element mtp_{v_.mtp}; @@ -1986,6 +2052,12 @@ struct Search_Element : JSON::Element { v_.early_stopping = JSON::Get(value); } else if (name == "blank_penalty") { v_.blank_penalty = static_cast(JSON::Get(value)); + } else if (name == "audio_interleaved") { + v_.audio_interleaved = JSON::Get(value); + } else if (name == "audio_temperature") { + v_.audio_temperature = static_cast(JSON::Get(value)); + } else if (name == "audio_top_k") { + v_.audio_top_k = SafeDoubleToInt(JSON::Get(value), name); } else { throw JSON::unknown_value_error{}; } diff --git a/src/config.h b/src/config.h index 21ef67fb66..e673e552df 100644 --- a/src/config.h +++ b/src/config.h @@ -327,6 +327,24 @@ struct Config { } outputs; } speech; + // Speech output of LFM2-Audio: the depthformer turns one decoder hidden state into a frame of + // audio codes, one per codebook, and the audio embedding turns that frame back into the decoder's + // next input. Empty filenames leave the model answering in text only. + struct AudioOutput { + struct Graph { + std::string filename; + std::optional session_options; + }; + Graph depthformer; + Graph embedding; + int num_codebooks{8}; + int codebook_size{2049}; // entries per codebook; the last one is the end-of-audio code + int audio_start_token_id{128}; // <|audio_start|>: the rest of a sequential answer is speech + int text_end_token_id{130}; // <|text_end|>: the text of an interleaved answer is over + int interleaved_n_text{6}; // text tokens per turn of an interleaved answer + int interleaved_n_audio{12}; // audio frames per turn of an interleaved answer + } audio_output; + struct Joiner { std::string filename; std::optional session_options; @@ -642,6 +660,9 @@ struct Config { int random_seed{-1}; // -1 = Seed with random device, otherwise use value to seed RNG std::optional chunk_size; // Chunk size for prefill chunking during context processing. If present, chunking is enabled with the chunk size > 0. float blank_penalty{}; // Penalty applied to blank token logits in CTC/RNNT decoding. Default 0 means no penalty. + bool audio_interleaved{}; // LFM2-Audio: alternate text tokens and audio frames by count (interleaved mode) rather than switching on <|audio_start|>. + float audio_temperature{1.0f}; // LFM2-Audio: temperature the audio codes are sampled with. 0 takes the most likely code. + int audio_top_k{4}; // LFM2-Audio: number of most likely audio codes kept when sampling. 1 takes the most likely code. } search; struct Speculative { diff --git a/src/models/lfm2_audio_output.cpp b/src/models/lfm2_audio_output.cpp new file mode 100644 index 0000000000..b0a3190846 --- /dev/null +++ b/src/models/lfm2_audio_output.cpp @@ -0,0 +1,255 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#include "generator/generators.h" +#include "models/lfm2_audio_output.h" +#include "models/multi_modal.h" +#include "models/utils.h" + +#include +#include +#include +#include + +namespace Generators { + +namespace { + +// Names of LiquidAI's depthformer and audio embedding exports (github.com/Liquid4All/onnx-export). +constexpr const char* kDepthformerInputs[] = {"hidden_states", "depth_slices_in", "step_idx", "prev_token", + "past_keys", "past_values", "seqlens_k", "total_seq_len"}; +constexpr const char* kDepthformerOutputs[] = {"logits", "depth_slices", "new_keys", "new_values"}; +constexpr const char* kEmbeddingInputs[] = {"audio_codes"}; +constexpr const char* kEmbeddingOutputs[] = {"audio_embeds"}; + +std::vector InputShape(OrtSession& session, const char* name, const char* graph) { + const auto names = session.GetInputNames(); + for (size_t i = 0; i < names.size(); ++i) { + if (names[i] == name) { + return session.GetInputTypeInfo(i)->GetTensorTypeAndShapeInfo().GetShape(); + } + } + throw std::runtime_error(std::string("Lfm2AudioOutput: the ") + graph + " model has no input named \"" + name + "\"."); +} + +template +std::unique_ptr MakeTensor(std::span values, std::vector shape) { + auto tensor = OrtValue::CreateTensor(Ort::Allocator::GetWithDefaultOptions(), shape); + std::copy(values.begin(), values.end(), tensor->template GetTensorMutableData()); + return tensor; +} + +template +std::unique_ptr MakeScalar(T value) { + return MakeTensor(std::span{&value, 1}, {}); +} + +} // namespace + +Lfm2AudioOutput::Lfm2AudioOutput(const MultiModalLanguageModel& model, const GeneratorParams& params) + : model_{model}, + config_{model.config_->model.audio_output}, + interleaved_{params.search.audio_interleaved}, + temperature_{params.search.audio_temperature}, + top_k_{params.search.audio_top_k}, + placeholder_token_id_{model.config_->model.audio_token_id}, + rng_{CreateRandomGenerator(params.search.random_seed)}, + modality_left_{config_.interleaved_n_text} { + if (params.BatchBeamSize() != 1) { + throw std::runtime_error("Lfm2AudioOutput: speech output needs a batch size of 1 and no beam search."); + } + + const auto hidden_shape = InputShape(*model_.depthformer_session_, "hidden_states", "depthformer"); + const auto slices_shape = InputShape(*model_.depthformer_session_, "depth_slices_in", "depthformer"); + const auto keys_shape = InputShape(*model_.depthformer_session_, "past_keys", "depthformer"); + if (hidden_shape.size() != 2 || slices_shape.size() != 3 || keys_shape.size() != 5 || + slices_shape[1] != config_.num_codebooks) { + throw std::runtime_error("Lfm2AudioOutput: the depthformer model does not have the expected inputs for " + + std::to_string(config_.num_codebooks) + " codebooks."); + } + hidden_size_ = hidden_shape[1]; + depth_size_ = slices_shape[2]; + num_layers_ = keys_shape[0]; + num_kv_heads_ = keys_shape[2]; + head_size_ = keys_shape[4]; + + // The search has to pick the placeholder whatever its sampling settings are. + const size_t vocab_size = static_cast(model_.config_->model.vocab_size); + placeholder_logits_ = model_.p_device_->Allocate(vocab_size); + auto logits = placeholder_logits_.CpuSpan(); + std::fill(logits.begin(), logits.end(), std::numeric_limits::lowest()); + logits[static_cast(placeholder_token_id_)] = 0.0f; + placeholder_logits_.CopyCpuToDevice(); +} + +void Lfm2AudioOutput::BeginStep(DeviceSpan& next_tokens, bool is_prompt) { + if (is_prompt || next_tokens.size() != 1) { + // A new turn starts in text, whatever the last one ended in. + modality_ = Modality::Text; + previous_was_text_ = false; + text_done_ = false; + modality_left_ = config_.interleaved_n_text; + pending_embedding_.clear(); + } else if (previous_was_text_) { + const int32_t token = next_tokens.CopyDeviceToCpu()[0]; + if (interleaved_) { + text_done_ = text_done_ || token == config_.text_end_token_id; + if (modality_left_ == 0 || text_done_) { + modality_ = Modality::Audio; + modality_left_ = config_.interleaved_n_audio; + } + } else if (token == config_.audio_start_token_id) { + modality_ = Modality::Audio; + } + } + + --modality_left_; + previous_was_text_ = modality_ == Modality::Text; +} + +void Lfm2AudioOutput::WritePendingFrame(OrtValue& inputs_embeds) { + const auto info = inputs_embeds.GetTensorTypeAndShapeInfo(); + if (info->GetElementCount() != pending_embedding_.size()) { + throw std::runtime_error("Lfm2AudioOutput: expected the decoder to take one embedding of " + + std::to_string(pending_embedding_.size()) + " values after an audio frame, got " + + std::to_string(info->GetElementCount()) + "."); + } + + auto bytes = ByteWrapTensor(*model_.p_device_, inputs_embeds); + auto cpu = bytes.CpuSpan(); + if (info->GetElementType() == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT) { + std::memcpy(cpu.data(), pending_embedding_.data(), pending_embedding_.size() * sizeof(float)); + } else if (info->GetElementType() == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16) { + auto* half = reinterpret_cast(cpu.data()); + std::transform(pending_embedding_.begin(), pending_embedding_.end(), half, FastFloat32ToFloat16); + } else { + throw std::runtime_error("Lfm2AudioOutput: the decoder's inputs_embeds must be float or float16."); + } + bytes.CopyCpuToDevice(); + pending_embedding_.clear(); +} + +DeviceSpan Lfm2AudioOutput::SampleFrame(OrtValue& hidden_states) { + const auto info = hidden_states.GetTensorTypeAndShapeInfo(); + const auto shape = info->GetShape(); + if (shape.empty() || shape.back() != hidden_size_) { + throw std::runtime_error("Lfm2AudioOutput: the decoder's hidden states do not match the depthformer's input of " + + std::to_string(hidden_size_) + " values."); + } + + // The last position of [batch, sequence, hidden_size]. + const size_t count = static_cast(hidden_size_); + const size_t first = info->GetElementCount() - count; + auto bytes = ByteWrapTensor(*model_.p_device_, hidden_states).CopyDeviceToCpu(); + std::vector hidden(count); + if (info->GetElementType() == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT) { + std::memcpy(hidden.data(), bytes.data() + first * sizeof(float), count * sizeof(float)); + } else if (info->GetElementType() == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16) { + const auto* half = reinterpret_cast(bytes.data()) + first; + std::transform(half, half + count, hidden.begin(), FastFloat16ToFloat32); + } else { + throw std::runtime_error("Lfm2AudioOutput: the decoder's hidden states must be float or float16."); + } + + std::vector frame = RunDepthformer(hidden); + + // As the reference orders it: the count first, then the end-of-audio code, which wins. + if (interleaved_ && modality_left_ == 0 && !text_done_) { + modality_ = Modality::Text; + modality_left_ = config_.interleaved_n_text; + } + const int64_t end_of_audio = config_.codebook_size - 1; + if (frame[0] == end_of_audio) { + std::fill(frame.begin(), frame.end(), end_of_audio); + modality_ = Modality::Text; + } else { + audio_codes_.insert(audio_codes_.end(), frame.begin(), frame.end()); + } + + EmbedFrame(frame); + return placeholder_logits_; +} + +std::vector Lfm2AudioOutput::RunDepthformer(std::span hidden) { + const auto hidden_tensor = MakeTensor(hidden, {1, hidden_size_}); + const std::vector cache_shape{num_layers_, 1, num_kv_heads_, 0, head_size_}; + auto keys = OrtValue::CreateTensor(Ort::Allocator::GetWithDefaultOptions(), cache_shape); + auto values = OrtValue::CreateTensor(Ort::Allocator::GetWithDefaultOptions(), cache_shape); + const std::vector no_slices(static_cast(config_.num_codebooks * depth_size_), 0.0f); + auto slices = MakeTensor(no_slices, {1, config_.num_codebooks, depth_size_}); + + // One run per codebook: each code is sampled given the ones before it in the frame. The projection + // of the hidden state is computed on the first run and handed back in on the rest. + std::vector frame; + int64_t previous_code = 0; + for (int32_t step = 0; step < config_.num_codebooks; ++step) { + const auto step_index = MakeScalar(step); + const auto previous = MakeTensor(std::span{&previous_code, 1}, {1}); + const auto past_length = MakeTensor(std::span{&step, 1}, {1}); + const auto total_length = MakeScalar(step + 1); + const OrtValue* inputs[] = {hidden_tensor.get(), slices.get(), step_index.get(), previous.get(), + keys.get(), values.get(), past_length.get(), total_length.get()}; + auto outputs = model_.depthformer_session_->Run(nullptr, kDepthformerInputs, inputs, std::size(inputs), + kDepthformerOutputs, std::size(kDepthformerOutputs)); + + const float* logits = outputs[0]->GetTensorData(); + previous_code = SampleCode({logits, static_cast(config_.codebook_size)}); + frame.push_back(previous_code); + if (step == 0) { + slices = std::move(outputs[1]); + } + keys = std::move(outputs[2]); + values = std::move(outputs[3]); + } + return frame; +} + +int64_t Lfm2AudioOutput::SampleCode(std::span logits) { + if (temperature_ <= 0.0f || top_k_ == 1) { + return std::max_element(logits.begin(), logits.end()) - logits.begin(); + } + + std::vector order(logits.size()); + std::iota(order.begin(), order.end(), int64_t{0}); + const size_t kept = top_k_ > 0 ? std::min(static_cast(top_k_), order.size()) : order.size(); + std::partial_sort(order.begin(), order.begin() + kept, order.end(), + [&](int64_t a, int64_t b) { return logits[a] > logits[b]; }); + + std::vector weights(kept); + const float highest = logits[order[0]]; + for (size_t i = 0; i < kept; ++i) { + weights[i] = std::exp(static_cast(logits[order[i]] - highest) / temperature_); + } + std::discrete_distribution distribution(weights.begin(), weights.end()); + return order[distribution(rng_)]; +} + +void Lfm2AudioOutput::EmbedFrame(std::span frame) { + // Every codebook has its own rows of the one embedding table. + std::vector rows(frame.size()); + for (size_t codebook = 0; codebook < frame.size(); ++codebook) { + rows[codebook] = frame[codebook] + static_cast(codebook) * config_.codebook_size; + } + const auto codes = MakeTensor(rows, {1, static_cast(rows.size())}); + const OrtValue* inputs[] = {codes.get()}; + auto outputs = model_.audio_embedding_session_->Run(nullptr, kEmbeddingInputs, inputs, std::size(inputs), + kEmbeddingOutputs, std::size(kEmbeddingOutputs)); + + const auto shape = outputs[0]->GetTensorTypeAndShapeInfo()->GetShape(); // [1, num_codebooks, hidden_size] + const size_t width = static_cast(shape.back()); + const float* embeddings = outputs[0]->GetTensorData(); + pending_embedding_.assign(width, 0.0f); + for (size_t codebook = 0; codebook < frame.size(); ++codebook) { + for (size_t i = 0; i < width; ++i) { + pending_embedding_[i] += embeddings[codebook * width + i]; + } + } +} + +OrtValue* Lfm2AudioOutput::GetAudioCodes() { + const int64_t num_frames = static_cast(audio_codes_.size()) / config_.num_codebooks; + audio_codes_tensor_ = MakeTensor(audio_codes_, {num_frames, config_.num_codebooks}); + return audio_codes_tensor_.get(); +} + +} // namespace Generators diff --git a/src/models/lfm2_audio_output.h b/src/models/lfm2_audio_output.h new file mode 100644 index 0000000000..f13b8538cd --- /dev/null +++ b/src/models/lfm2_audio_output.h @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +#pragma once + +#include +#include +#include +#include +#include + +#include "models/model.h" + +namespace Generators { + +struct MultiModalLanguageModel; + +// Speech output of LFM2-Audio, as liquid-audio's generate_sequential and generate_interleaved +// produce it. +// +// The decoder emits one hidden state per step. While the answer is text the search samples a token +// from the logits as usual; while it is speech the depthformer turns that hidden state into one +// audio frame of num_codebooks codes instead, and the sum of the codes' embeddings is the decoder's +// next input. The generator's sequence records each frame as one model.audio_token_id placeholder, +// so lengths and stopping work unchanged, and the codes themselves are read with +// generator.get_output("audio_codes"). +// +// The turn passes to speech on <|audio_start|> and back on the end-of-audio code. With +// search.audio_interleaved it also alternates by count, interleaved_n_text tokens against +// interleaved_n_audio frames, until <|text_end|> leaves the rest of the turn to speech. +struct Lfm2AudioOutput { + Lfm2AudioOutput(const MultiModalLanguageModel& model, const GeneratorParams& params); + + // Called at the top of every pipeline run with the tokens the search just chose. + void BeginStep(DeviceSpan& next_tokens, bool is_prompt); + + // True when the decoder's next input is the last audio frame rather than a token. + bool HasPendingFrame() const { return !pending_embedding_.empty(); } + // Overwrites the decoder's [1, 1, hidden_size] input with the last frame's embedding. + void WritePendingFrame(OrtValue& inputs_embeds); + + bool InAudio() const { return modality_ == Modality::Audio; } + // Samples the next frame from the decoder's last hidden state and returns logits that make the + // search pick the placeholder token. + DeviceSpan SampleFrame(OrtValue& hidden_states); + + // Every frame so far, [num_frames, num_codebooks] int64, end-of-audio frames left out. + OrtValue* GetAudioCodes(); + + private: + enum struct Modality { Text, + Audio }; + + std::vector RunDepthformer(std::span hidden); + int64_t SampleCode(std::span logits); + void EmbedFrame(std::span frame); + + const MultiModalLanguageModel& model_; + const Config::Model::AudioOutput& config_; + const bool interleaved_; + const float temperature_; + const int top_k_; + const int32_t placeholder_token_id_; + std::mt19937 rng_; + + // Depthformer geometry, read off the graph. + int64_t hidden_size_{}; + int64_t depth_size_{}; + int64_t num_layers_{}; + int64_t num_kv_heads_{}; + int64_t head_size_{}; + + Modality modality_{Modality::Text}; + bool previous_was_text_{}; + bool text_done_{}; + int modality_left_{}; + + std::vector pending_embedding_; // the last frame, as the decoder's next input + std::vector audio_codes_; // num_frames * num_codebooks + std::unique_ptr audio_codes_tensor_; + DeviceSpan placeholder_logits_; +}; + +} // namespace Generators diff --git a/src/models/multi_modal.cpp b/src/models/multi_modal.cpp index a777ac1108..1aedc0a012 100644 --- a/src/models/multi_modal.cpp +++ b/src/models/multi_modal.cpp @@ -116,6 +116,28 @@ MultiModalLanguageModel::MultiModalLanguageModel(std::unique_ptr config, embedding_session_ = CreateSession(ort_env, config_->model.embedding.filename, embedding_session_options_.get()); decoder_session_ = CreateSession(ort_env, config_->model.decoder.filename, session_options_.get()); + const auto& audio_output = config_->model.audio_output; + if (!audio_output.depthformer.filename.empty() || !audio_output.embedding.filename.empty()) { + if (audio_output.depthformer.filename.empty() || audio_output.embedding.filename.empty()) { + throw std::runtime_error("model.audio_output needs both depthformer.filename and embedding.filename."); + } + // With speech output these tokens hand the turn to the depthformer; as stop tokens they would end + // it there instead, which is what a text-only export needs and this one must not have. + for (const int token : {audio_output.audio_start_token_id, audio_output.text_end_token_id}) { + if (std::find(config_->model.eos_token_id.begin(), config_->model.eos_token_id.end(), token) != + config_->model.eos_token_id.end()) { + throw std::runtime_error("model.eos_token_id holds " + std::to_string(token) + + ", which model.audio_output uses to start speech. Remove it from eos_token_id."); + } + } + depthformer_session_options_ = OrtSessionOptions::Create(); + CreateSessionOptionsFromConfig(audio_output.depthformer.session_options.has_value() ? audio_output.depthformer.session_options.value() : config_->model.decoder.session_options, *depthformer_session_options_, true, /*disable_graph_capture=*/true); + depthformer_session_ = CreateSession(ort_env, audio_output.depthformer.filename, depthformer_session_options_.get()); + audio_embedding_session_options_ = OrtSessionOptions::Create(); + CreateSessionOptionsFromConfig(audio_output.embedding.session_options.has_value() ? audio_output.embedding.session_options.value() : config_->model.decoder.session_options, *audio_embedding_session_options_, true, /*disable_graph_capture=*/true); + audio_embedding_session_ = CreateSession(ort_env, audio_output.embedding.filename, audio_embedding_session_options_.get()); + } + session_info_.Add(*decoder_session_); session_info_.Add(*embedding_session_); if (speech) { @@ -968,6 +990,9 @@ MultiModalPipelineState::MultiModalPipelineState(const MultiModalLanguageModel& } embedding_state_ = std::make_unique(model, params); decoder_state_ = std::make_unique(model_, sequence_lengths, params); + if (model_.depthformer_session_) { + audio_output_ = std::make_unique(model_, params); + } if (vision_state_ != nullptr && model_.config_->model.vision.adapter_filename.has_value() && num_image_tokens_ > 0) { const auto lora_adapter = (model_.config_->config_path / fs::path(*model_.config_->model.vision.adapter_filename)).string(); @@ -1023,6 +1048,9 @@ DeviceSpan MultiModalPipelineState::Run(int current_length, DeviceSpan |embeddings_model| -> inputs_embeds // - inputs_embeds -> |decoder_model| -> logits + if (audio_output_) { + audio_output_->BeginStep(next_tokens, is_prompt_); + } embedding_state_->UpdateInputsOutputs(next_tokens, is_prompt_); // Prefill chunking (search.chunk_size): during the prompt stage the decoder can process the @@ -1076,15 +1104,36 @@ DeviceSpan MultiModalPipelineState::Run(int current_length, DeviceSpaninputs_embeds_.ReuseEmbeddingsBuffer(decoder_state_->inputs_embeds_); if (embedding_state_->per_layer_inputs_ && decoder_state_->per_layer_inputs_) { embedding_state_->per_layer_inputs_->ReuseEmbeddingsBuffer(*decoder_state_->per_layer_inputs_); } - embedding_state_->Run(current_length, next_tokens, next_indices); - return decoder_state_->Run(current_length, next_tokens, next_indices); + if (audio_output_ && audio_output_->HasPendingFrame()) { + // The token is only the placeholder of the last audio frame: the decoder takes the frame itself, + // and the embedding model would look for audio features to put in the placeholder's place. + audio_output_->WritePendingFrame(*decoder_state_->inputs_embeds_.Get()); + } else { + embedding_state_->Run(current_length, next_tokens, next_indices); + } + auto logits = decoder_state_->Run(current_length, next_tokens, next_indices); + return audio_output_ ? SampleAudioOrText(logits) : logits; +} + +DeviceSpan MultiModalPipelineState::SampleAudioOrText(DeviceSpan logits) { + if (!audio_output_->InAudio()) { + return logits; + } + const std::string& configured = model_.config_->model.decoder.outputs.hidden_states; + const std::string name = configured.empty() ? std::string(Config::Defaults::HiddenStatesName) : configured; + OrtValue* hidden_states = decoder_state_->GetOutput(name.c_str()); + if (!hidden_states) { + throw std::runtime_error("Speech output needs the decoder's \"" + name + + "\" output. Build the decoder with --extra_options include_hidden_states=true."); + } + return audio_output_->SampleFrame(*hidden_states); } OrtValue* MultiModalPipelineState::GetInput(const char* name) { @@ -1124,6 +1173,10 @@ OrtValue* MultiModalPipelineState::GetInput(const char* name) { }; OrtValue* MultiModalPipelineState::GetOutput(const char* name) { + if (audio_output_ && std::strcmp(name, "audio_codes") == 0) { + return audio_output_->GetAudioCodes(); + } + if (vision_state_) { // Check if output name is in vision state's outputs for (size_t i = 0; i < vision_state_->output_names_.size(); i++) { diff --git a/src/models/multi_modal.h b/src/models/multi_modal.h index 1b6ff60419..570e2fff24 100644 --- a/src/models/multi_modal.h +++ b/src/models/multi_modal.h @@ -19,6 +19,7 @@ #include "models/io/position_inputs.h" #include "model_type.h" #include "models/io/recurrent_state.h" +#include "models/lfm2_audio_output.h" namespace Generators { @@ -37,6 +38,12 @@ struct MultiModalLanguageModel : Model { std::unique_ptr vision_session_options_; std::unique_ptr speech_session_options_; std::unique_ptr embedding_session_options_; + + // LFM2-Audio speech output, present when model.audio_output names the two graphs. + std::unique_ptr depthformer_session_; // hidden_states -> one audio code per run, a frame in num_codebooks runs + std::unique_ptr audio_embedding_session_; // audio_codes -> audio_embeds, summed into the decoder's next input + std::unique_ptr depthformer_session_options_; + std::unique_ptr audio_embedding_session_options_; }; // Base VisionState: runs vision.onnx with a single State::Run() call. @@ -264,6 +271,8 @@ struct MultiModalPipelineState : State { private: void UpdateInputsOutputs(const DeviceSpan& next_tokens, DeviceSpan next_indices, int current_length); + // The decoder's logits while the answer is text, or the next audio frame's placeholder while it is speech. + DeviceSpan SampleAudioOrText(DeviceSpan logits); const MultiModalLanguageModel& model_; int64_t num_image_tokens_{}; @@ -273,6 +282,7 @@ struct MultiModalPipelineState : State { std::unique_ptr speech_state_; std::unique_ptr embedding_state_; std::unique_ptr decoder_state_; + std::unique_ptr audio_output_; // LFM2-Audio speech output, when the model has it std::shared_ptr adapters_; bool is_prompt_{true}; diff --git a/test/models/lfm2-audio/dummy_audio_embedding.onnx b/test/models/lfm2-audio/dummy_audio_embedding.onnx new file mode 100644 index 0000000000000000000000000000000000000000..cced6a01fac95596f5adc8095484d834df0fe549 GIT binary patch literal 32472 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 literal 0 HcmV?d00001 diff --git a/test/models/lfm2-audio/dummy_depthformer.onnx b/test/models/lfm2-audio/dummy_depthformer.onnx new file mode 100644 index 0000000000000000000000000000000000000000..44201df59ad439d9c8773b092e0dd0c689e36621 GIT binary patch literal 165323 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 z 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 W!%N-sCK^3_w3+F}B6MhMHDv;lHYHAr5b^5Ig%S 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 literal 0 HcmV?d00001 diff --git a/test/models/lfm2-audio/dummy_text.onnx b/test/models/lfm2-audio/dummy_text.onnx index 50c167b43b46baf389a4922b73d682c93ff97298..299c2d07ee050dedcc3b43edc85f9cb6aa558e68 100644 GIT binary patch delta 96 zcmbO`jiYfo#{_AnyVEwxCbFt=sc>=TW>%!8#3vPJ2=QiQrlh3i#TS<(mZTOdad-kb oC7C6a&2_Bpb*zlr>sXm)vI->GaG@xi9>~t5$L7Ss#ULOE02}um?f?J) delta 35 rcmZpi&M|iy#{_AnpHnx=CbBj!VQpW+%D8