Tencent / Tencent/AngelSlim

Questions Regarding Tequila Implementation and Quantization Details

Open
#92 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.7k
Forks
181
Avg merge
1d 3h
Merged PRs (30d)
2

Description

Hi, thanks for open-sourcing this interesting work!

I have several questions about the implementation of Tequila that I couldn't fully clarify from the paper or code:

1. Quantization Methods in models/utils_quant.py

I noticed multiple quantization methods such as ultraquant, ultraquantv2, ultraquantv3, and ultraquantv4, but only ultraquantv2 and ultraquantv3 seem to have actual implementations. Could you clarify which version is the final one used in the paper? The paper doesn't explicitly specify this.

2. Differentiable Reactivation (Bypassing STE)

The paper highlights "Bypassing STE through Differentiable Reactivation" as a key contribution, but I couldn't locate the corresponding code. Could you point me to where this is implemented?

3. Repurposing Dead Weights as Biases

The mechanism for "Repurposing Dead Weights as Biases" is a bit unclear. Is the bias applied per-channel or per-group? It would be helpful to understand how the bias is structured and initialized.

4. Inference-Time Ternary Weight Conversion

Could you provide or clarify the inference procedure for converting quantized weights into ternary weights (e.g., {-1, 0, +1}) using the learned bias? Even a fake-quant implementation would be very helpful for understanding the deployment behavior.

5. Training Configuration and Efficiency
  • What batch size was used in the experiments?
  • How does the overall training cost (in terms of time and GPU memory) compare to ParetoQ?
  • Specifically, in UltraQuant V2, each layer introduces an additional learnable parameter of the same size as the weight matrix—this seems non-trivial in terms of memory and optimization overhead. Was this mitigated in practice?

Thanks in advance for your clarification!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review models/utils_quant.py alongside the paper to identify which quantization version is used and where differentiable reactivation, dead-weight biases, and ternary conversion are addressed. Compare the documented training configuration and efficiency with the questions raised; done means providing clear, referenced answers or adding documentation for each unresolved point.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation, machine-learning
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.