from typing import Type import gradio as gr from swift.ui.base import BaseUI class Quantization(BaseUI): group = 'llm_train' locale_dict = { 'quantization_tab': { 'label': { 'zh': '量化参数', 'en': 'Quantization settings' }, }, 'quant_method': { 'label': { 'zh': '量化方式', 'en': 'Quantization method' }, 'info': { 'zh': '如果制定了量化位数,本参数默认为bnb', 'en': 'Default is bnb if quantization_bit is specified' } }, 'quantization_bit': { 'label': { 'zh': '量化bit数', 'en': 'Quantization bit' }, 'info': { 'zh': '设置量化bit数, 0代表不进行量化', 'en': 'Set the quantization bit, 0 for no quantization' } }, 'bnb_4bit_comp_dtype': { 'label': { 'zh': 'bnb_4bit_comp_dtype', 'en': 'bnb_4bit_comp_dtype' }, }, 'bnb_4bit_quant_type': { 'label': { 'zh': 'bnb_4bit_quant_type', 'en': 'bnb_4bit_quant_type' }, }, 'bnb_4bit_use_double_quant': { 'label': { 'zh': 'bnb_4bit_use_double_quant', 'en': 'bnb_4bit_use_double_quant' }, }, } @classmethod def do_build_ui(cls, base_tab: Type['BaseUI']): with gr.Accordion(elem_id='quantization_tab', open=False): with gr.Row(): gr.Dropdown(elem_id='quantization_bit') gr.Dropdown(elem_id='quant_method') gr.Dropdown(elem_id='bnb_4bit_comp_dtype') gr.Dropdown(elem_id='bnb_4bit_quant_type') gr.Checkbox(elem_id='bnb_4bit_use_double_quant')