25.2 C
Canberra
Monday, February 23, 2026

Serving Qwen Fashions on Databricks


Qwen fashions, developed by Alibaba, have proven sturdy efficiency in each code completion and instruction duties. On this weblog, we’ll present how one can register and deploy Qwen fashions on Databricks utilizing an strategy just like that for Llama-based architectures. By following these steps, you may benefit from Databricks’ basis mannequin (Provisioned Throughput) endpoints, which profit from low latency and excessive throughput.

Desk of Contents

  1. Motivation: Why Serve Qwen Fashions on Databricks?
  2. The Core Thought
  3. Implementation: Annotated Code Walkthrough
  4. Efficiency and Limitations
  5. Abstract and Subsequent Steps

Motivation: Why Serve Qwen Fashions on Databricks?

For a lot of enterprise workloads, Databricks is a one-stop platform to coach, register, and serve massive language fashions (LLMs). With Databricks Mosaic AI Mannequin Serving one can simply deploy fine-tuned or base fashions and make the most of them for real-time or batch inference duties.

The just lately launched Qwen 2.5 sequence of fashions present sturdy efficiency in code completion and instruction duties. Qwen 2.5 fashions on the time of their launch beat equally sized fashions on commonplace benchmarks similar to MMLU, ARC-C, MATH, HumanEval, and multilingual benchmarks similar to Multi-Examination and Multi-Understanding. Qwen 2.5 Coder fashions present comparable beneficial properties on coding benchmarks. This may occasionally present prospects with sturdy motivation for deploying these fashions in Databricks Mannequin Serving to energy their use circumstances.

Serving a Qwen mannequin on Databricks entails 4 steps:

  1. Run a pocket book to transform the Qwen mannequin recordsdata to be appropriate with the Llama structure and Databricks mannequin serving
  2. Register the Qwen mannequin in Unity Catalog
  3. Deployed the registered mannequin in Databricks Basis Mannequin Serving
  4. Conduct high quality testing on the deployment, similar to both guide testing or operating commonplace benchmarks immediately towards the endpoint

The Core Thought

Databricks basis mannequin serving supplies optimized efficiency for fashions similar to Meta’s Llama fashions. Prospects can deploy these fashions with provisioned throughput and obtain low latency and excessive throughput. Whereas the Qwen fashions’ underlying mannequin construction is similar to the Llama fashions’ construction, sure modifications are required with a purpose to benefit from Databricks’ mannequin serving infrastructure. The steps beneath clarify how prospects could make the mandatory modifications.

Implementation: Annotated Code Walkthrough

Half 1) Rewrite Qwen’s weights and config to be in keeping with Llama fashions.

The steps in modify_qwen.py take a Qwen2.5 mannequin and rewrite it to be in keeping with the Llama structure that’s optimized for provisioned throughput on Databricks. Listed below are the important thing steps within the code:

  1. Load Qwen State Dict: Accumulate .safetensors from the unique Qwen listing.
  2. Copy & Alter Weights: Insert zero biases for consideration outputs the place Llama expects them.
  3. Rewrite the Config: Replace fields like "architectures", "model_type" to "llama", and take away Qwen-specific flags.
  4. Copy Tokenizer Recordsdata: Guarantee we deliver over tokenizer.json, merges.txt, and so forth.
  5. Create Closing Output Folder: The recordsdata within the new listing make it appear to be a typical Llama mannequin.

On the finish of this step, you will have a Llama-compatible Qwen mannequin. You would load the mannequin in vLLM and it ought to deal with it as a Llama mannequin and be capable to generate code or comply with directions, relying on which mannequin you used.

Tip: You should use huggingface_hub.snapshot_download to fetch the one of many Qwen fashions similar to Qwen/Qwen2.5-Coder-7B-Instruct from Hugging Face to a listing earlier than performing the conversion.

Half 2) Register and Serve Qwen on Databricks

Subsequent we’ll give attention to the way to log and serve the “Qwen as Llama” mannequin on Databricks. That is dealt with by register_qwen.py. The steps right here be sure that the mannequin has the configuration that mannequin serving expects for a Llama mannequin. The important thing steps:

  1. Specifying the trail to the transformed mannequin from earlier.
  2. Modifying tokenizer configs (particularly eradicating chat_template and setting tokenizer_class).
  3. Adjusting config.json to mirror Llama-compatible sequence lengths.
  4. Updating the mannequin with Llama-like metadata earlier than logging.
  5. Registering the mannequin with MLflow, so it may be served on a GPU endpoint.

As soon as this pocket book is run the mannequin can be registered in Unity Catalog, navigate to the mannequin and click on “Serve this mannequin” to arrange the endpoint. You need to see the choice to arrange the endpoint with provisioned enter at totally different tokens/second charges.

Testing the Endpoint

As soon as the endpoint is prepared you may conduct some fundamental assessments to confirm it’s working correctly. Suppose that we’ve got deployed the Qwen2.5-Coder-7B mannequin after performing the above conversion and registration. This mannequin is able to both finishing a chunk of code or performing fill-in-the-middle. Let’s use it to finish a easy sorting operate. Below the “Use” dropdown click on “Question” and enter the next request:

The textual content within the response accommodates the remainder of the implementation:

For a extra quantitative strategy you can generate completions for the HumanEval duties. Then run its analysis to get the go@1 metric and evaluate towards the printed outcomes.

Efficiency and Limitations

  1. Handbook Chat Formatting
    Since we take away Qwen’s built-in chat template, it’s essential to manually format system/person/assistant messages in your shopper code. This ensures the mannequin can nonetheless interpret dialog turns correctly.
  2. Max Place Embeddings
    We set max_position_embeddings to 16000 tokens to suit inside sure Databricks constraints. If Qwen initially supported extra, you would possibly lose some most context size. Nonetheless, you’ll nonetheless acquire provisioned throughput assist.

Abstract and Subsequent Steps

Whereas Databricks doesn’t assist Qwen fashions immediately on provisioned throughput mannequin serving in the present day, the above methodology permits you to register and serve these fashions efficiently by aligning them to be appropriate with the Llama fashions’ structure. This workaround is especially helpful in case your workforce requires Qwen’s capabilities but in addition desires the comfort of Databricks mannequin serving endpoints and provisioned throughput.

Key Takeaway

  • The Qwen and Llama fashions share sufficient architectural similarities that, with a couple of minor modifications (particularly, to the tokenizer config and mannequin metadata), Databricks’ mannequin serving infrastructure can readily serve the Qwen fashions utilizing provisioned throughput.

Future Concerns

  • We encourage you to maintain an eye fixed out for official Qwen assist on Databricks mannequin serving.
  • Consider efficiency overhead from forcibly limiting context measurement.
  • In case you depend on chat prompting, keep in mind to manually format your prompts on the shopper aspect.

Acknowledgments

  • hiyouga’s llamafy_qwen.py for the preliminary instance that offered the premise for the Qwen conversion.
  • The Databricks engineering workforce for clarifying the interior serving constraints.
  • All of the group members who examined and refined the strategy.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

[td_block_social_counter facebook="tagdiv" twitter="tagdivofficial" youtube="tagdiv" style="style8 td-social-boxed td-social-font-icons" tdc_css="eyJhbGwiOnsibWFyZ2luLWJvdHRvbSI6IjM4IiwiZGlzcGxheSI6IiJ9LCJwb3J0cmFpdCI6eyJtYXJnaW4tYm90dG9tIjoiMzAiLCJkaXNwbGF5IjoiIn0sInBvcnRyYWl0X21heF93aWR0aCI6MTAxOCwicG9ydHJhaXRfbWluX3dpZHRoIjo3Njh9" custom_title="Stay Connected" block_template_id="td_block_template_8" f_header_font_family="712" f_header_font_transform="uppercase" f_header_font_weight="500" f_header_font_size="17" border_color="#dd3333"]
- Advertisement -spot_img

Latest Articles