def METHOD_NAME(q_bits, is_symmetric_quant, data_i8, params, num_groups):
    data_f = data_i8.reshape(num_groups, -1).to(dtype=torch.float32)
    scales = params[:, 0].reshape(-1, 1)
    offsets = params[:, 1].reshape(-1, 1)
    if not is_symmetric_quant:
        data_f = data_f - offsets
    else:
        assert offsets.allclose(torch.zeros_like(offsets))
    data_f = data_f * scales
    return data_f