Transformers documentation

IQuestCoder

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Mô hình này đã được đóng góp cho Hugging Face Transformers vào ngày 2026-11-12.

FlashAttention SDPA

IQuestCoder

IQuest-Coder-V1 là một họ mô hình ngôn ngữ mã do IQuest Lab phát triển, có sẵn ở các kích thước 7B, 14B và 40B với các biến thể base, instruct và thinking. Kiến trúc của nó giống hệt với Llama.

Các checkpoint IQuest-Coder-V1-*-Loop-* dạng lặp sử dụng kiến trúc khác và không được hỗ trợ bởi mô hình này.

Tokenizer được xây dựng từ mô hình SentencePiece của các checkpoint. Nhiều phần tử của nó có cùng điểm số, và SentencePiece phân tách các trường hợp đồng điểm này theo vị trí, điều mà thư viện tokenizers không thể tái hiện, do đó một phần nhỏ các văn bản sẽ được tokenize khác so với mã gốc từ xa.

Các lớp auto sẽ nạp nó với cài đặt Llama (LlamaModel và LlamaForCausalLM), do đó chỉ có IQuestCoderConfig là đặc thù cho IQuestCoder.

Ví dụ dưới đây minh họa cách tạo văn bản bằng lớp AutoModelForCausalLM.

from transformers import AutoModelForCausalLM, AutoTokenizer


tokenizer = AutoTokenizer.from_pretrained("IQuestLab/IQuest-Coder-V1-7B-Instruct")
model = AutoModelForCausalLM.from_pretrained("IQuestLab/IQuest-Coder-V1-7B-Instruct", device_map="auto")

messages = [{"role": "user", "content": "Write a Python function that checks whether a number is prime."}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt", return_dict=True)
output = model.generate(**inputs.to(model.device), max_new_tokens=128)
print(tokenizer.decode(output[0][inputs["input_ids"].shape[1] :], skip_special_tokens=True))

IQuestCoderConfig

lớp transformers.IQuestCoderConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 76800hidden_size: int = 5120intermediate_size: int = 27648num_hidden_layers: int = 80num_attention_heads: int = 40num_key_value_heads: int | None = 8hidden_act: str = 'silu'max_position_embeddings: int = 131072initializer_range: float = 0.02rms_norm_eps: float = 1e-05use_cache: bool = Truepad_token_id: int | None = Nonebos_token_id: int | None = 1eos_token_id: int | list[int] | None = 2tie_word_embeddings: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneattention_bias: bool = Falseattention_dropout: float | int = 0.0mlp_bias: bool = Falsehead_dim: int | None = 128 )

Tham số

  • vocab_size (int, tuỳ chọn, mặc định là 76800) — Kích thước từ vựng của mô hình. Xác định số lượng token khác nhau có thể được biểu diễn bởi input_ids.
  • hidden_size (int, tùy chọn, mặc định là 5120) — Kích thước của các biểu diễn ẩn.
  • intermediate_size (int, tùy chọn, mặc định là 27648) — Kích thước của các biểu diễn MLP.
  • num_hidden_layers (int, tùy chọn, mặc định là 80) — Số lượng lớp ẩn trong bộ giải mã Transformer.
  • num_attention_heads (int, tùy chọn, mặc định là 40) — Số lượng đầu chú ý cho mỗi lớp chú ý trong bộ giải mã Transformer.
  • num_key_value_heads (int, tùy chọn, mặc định là 8) — Đây là số lượng key_value heads cần được sử dụng để triển khai Grouped Query Attention. Nếu num_key_value_heads=num_attention_heads, mô hình sẽ sử dụng Multi Head Attention (MHA), nếu num_key_value_heads=1 mô hình sẽ sử dụng Multi Query Attention (MQA), ngược lại sẽ sử dụng GQA. Khi chuyển đổi checkpoint multi-head sang checkpoint GQA, mỗi nhóm key và value head nên được xây dựng bằng cách meanpooling tất cả các head gốc trong nhóm đó. Để biết thêm chi tiết, hãy xem bài báo này. Nếu không được chỉ định, giá trị mặc định sẽ là num_attention_heads.
  • hidden_act (str, tùy chọn, mặc định là silu) — Hàm kích hoạt phi tuyến (hàm hoặc chuỗi) trong bộ giải mã. Ví dụ, "gelu", "relu", "silu", v.v.
  • max_position_embeddings (int, tùy chọn, mặc định là 131072) — Chiều dài chuỗi tối đa mà mô hình này có thể được sử dụng.
  • initializer_range (float, tùy chọn, mặc định là 0.02) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số.
  • rms_norm_eps (float, tùy chọn, mặc định là 1e-05) — Giá trị epsilon được sử dụng bởi các lớp chuẩn hóa rms.
  • use_cache (bool, tùy chọn, mặc định là True) — Xác định xem mô hình có nên trả về các chú ý key/values cuối cùng hay không (không được sử dụng bởi tất cả các mô hình). Chỉ liên quan nếu config.is_decoder=True hoặc khi mô hình là mô hình sinh chỉ có decoder.
  • pad_token_id (int, tùy chọn) — Token id được sử dụng để đệm trong từ vựng.
  • bos_token_id (int, tùy chọn, mặc định là 1) — Token id được sử dụng cho beginning-of-stream trong bảng từ vựng.
  • eos_token_id (Union[int, list[int]], tùy chọn, mặc định là 2) — Token id được sử dụng cho end-of-stream trong bảng từ vựng.
  • tie_word_embeddings (bool, tùy chọn, mặc định là False) — Có nên gắn kết các trọng số nhúng theo ánh xạ tied_weights_keys của mô hình hay không.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], tùy chọn) — Từ điển chứa các tham số cấu hình cho các embedding RoPE. Từ điển phải chứa một giá trị cho rope_theta và tùy chọn các tham số được sử dụng để mở rộng trong trường hợp bạn muốn sử dụng RoPE với max_position_embeddings dài hơn.
  • attention_bias (bool, tùy chọn, mặc định là False) — Có sử dụng bias trong các lớp chiếu query, key, value và output trong quá trình tự chú ý hay không.
  • attention_dropout (Union[float, int], tùy chọn, mặc định là 0.0) — Tỷ lệ dropout cho các xác suất chú ý.
  • mlp_bias (bool, tùy chọn, mặc định là False) — Có sử dụng bias trong các lớp up_proj, down_proj và gate_proj của các lớp MLP hay không.
  • head_dim (int, tùy chọn, mặc định là 128) — Kích thước chiều của đầu chú ý. Nếu là None, giá trị mặc định sẽ là hidden_size // num_attention_heads

Đây là lớp cấu hình để lưu trữ cấu hình của một LlamaModel. Nó được sử dụng để khởi tạo một mô hình Iquestcoder theo các đối số được chỉ định, xác định kiến trúc của mô hình. Khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của IQuestLab/IQuest-Coder-V1-40B-Instruct

Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.

>>> from transformers import AutoModelForCausalLM, IQuestCoderConfig

>>> # Initializing an IQuest-Coder-V1-40B style configuration
>>> configuration = IQuestCoderConfig()

>>> # Initializing a model (which uses the Llama implementation) from that configuration
>>> model = AutoModelForCausalLM.from_config(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
Update on GitHub