Instructions to use Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV", trust_remote_code=True) messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForImageTextToText processor = AutoProcessor.from_pretrained("Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV", trust_remote_code=True) model = AutoModelForImageTextToText.from_pretrained("Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV", trust_remote_code=True, device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV
- SGLang
How to use Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV with Docker Model Runner:
docker model run hf.co/Ddavidich/LOMONOSOV-ZENIT-27B-1M-INDEV
Прижатие доли памяти чинилось только при автовыборе окна — теперь всегда
Browse filesУстройство опрашивалось лишь когда пользователь не задал ни --max-model-len,
ни ZENIT_SERVING_PROFILE. В остальных случаях clamp_utilization получал None и
молчал, а профиль всё равно подставлял 0.95. На карте с рабочим столом это
отказ при старте: Free memory (29.57/31.39 GiB) is less than desired GPU memory
utilization (0.95, 29.82 GiB). Замерено на локальной 5090 с 1.8 ГиБ рабочего
стола; после починки движок поднимается, доля прижата до 0.921.
Выбор окна остаётся за пользователем: память влияет на выбор только когда он
его не задал. 40 тестов профилей проходят.
Плюс квитанция vision_probe.json: мультимодальность НЕ работает. Зрительная
башня квантована с group_size 16, на Blackwell её берёт только ядро humming,
и оно падает с CUDA_ERROR_INVALID_VALUE в cuFuncSetAttribute.
|
@@ -528,22 +528,39 @@ def install_model_owned_serving_defaults() -> bool:
|
|
| 528 |
if config and _is_our_architecture(config):
|
| 529 |
spec = config.get(CONFIG_KEY) or {}
|
| 530 |
requested = getattr(self, "max_model_len", None)
|
| 531 |
-
|
| 532 |
-
|
| 533 |
-
|
| 534 |
-
|
| 535 |
-
|
| 536 |
-
|
| 537 |
-
|
| 538 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 539 |
if selected is not None:
|
| 540 |
name, body = selected
|
| 541 |
-
if
|
| 542 |
_report_memory_choice(
|
| 543 |
name,
|
| 544 |
body,
|
| 545 |
spec,
|
| 546 |
-
profile_budget(body,
|
| 547 |
)
|
| 548 |
if caller_utilization is None:
|
| 549 |
lowered = clamp_utilization(body, device)
|
|
|
|
| 528 |
if config and _is_our_architecture(config):
|
| 529 |
spec = config.get(CONFIG_KEY) or {}
|
| 530 |
requested = getattr(self, "max_model_len", None)
|
| 531 |
+
caller_chose_window = (
|
| 532 |
+
requested is not None or bool(os.environ.get(ENV_PROFILE))
|
| 533 |
+
)
|
| 534 |
+
# The card is probed either way. Two different questions are being
|
| 535 |
+
# answered with it, and conflating them was a real defect: asking
|
| 536 |
+
# for a window with --max-model-len, or forcing a profile, used to
|
| 537 |
+
# skip the probe entirely, so the utilisation clamp below never
|
| 538 |
+
# fired and the profile's 0.95 went through unchanged. On any card
|
| 539 |
+
# with a desktop session that is more than is free, and vLLM
|
| 540 |
+
# refuses to start - measured on a 5090 holding 1.8 GiB of desktop:
|
| 541 |
+
# "Free memory (29.57/31.39 GiB) is less than desired GPU memory
|
| 542 |
+
# utilization (0.95, 29.82 GiB)". Choosing a window is the caller's
|
| 543 |
+
# business; how much of the card is free is not.
|
| 544 |
+
device = device_memory()
|
| 545 |
+
current = getattr(self, "gpu_memory_utilization", None)
|
| 546 |
+
caller_utilization = (
|
| 547 |
+
float(current)
|
| 548 |
+
if current is not None and current != vllm_default_utilization()
|
| 549 |
+
else None
|
| 550 |
+
)
|
| 551 |
+
# Memory decides the window only when the caller left it open.
|
| 552 |
+
selection_device = None if caller_chose_window else device
|
| 553 |
+
selected = select_profile(
|
| 554 |
+
spec, requested, selection_device, caller_utilization
|
| 555 |
+
)
|
| 556 |
if selected is not None:
|
| 557 |
name, body = selected
|
| 558 |
+
if selection_device is not None:
|
| 559 |
_report_memory_choice(
|
| 560 |
name,
|
| 561 |
body,
|
| 562 |
spec,
|
| 563 |
+
profile_budget(body, selection_device, caller_utilization),
|
| 564 |
)
|
| 565 |
if caller_utilization is None:
|
| 566 |
lowered = clamp_utilization(body, device)
|
|
Binary files a/lomonosov_zenit_altay_runtime-1.5.0-py3-none-any.whl and b/lomonosov_zenit_altay_runtime-1.5.0-py3-none-any.whl differ
|
|
|
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema": "lomonosov_zenit_vision_v1",
|
| 3 |
+
"status": "FAIL",
|
| 4 |
+
"failed_at": "request",
|
| 5 |
+
"question": "проходит ли изображение через модель на настоящем запросе",
|
| 6 |
+
"answer": "НЕТ. Мультимодальность на этом чекпойнте не работает.",
|
| 7 |
+
"host": "локальная RTX 5090, 32 ГБ, рабочий стол занимает ~1.3 ГиБ",
|
| 8 |
+
"max_model_len": 32768,
|
| 9 |
+
"load_seconds": 64.0,
|
| 10 |
+
"image": "logo.png 1200x842",
|
| 11 |
+
"path": [
|
| 12 |
+
"qwen3_vl.py:_process_image_input",
|
| 13 |
+
"self.visual(pixel_values, grid_thw)",
|
| 14 |
+
"kernels/linear/mixed_precision/humming.py:apply_weights",
|
| 15 |
+
"humming/layer.py:forward_layer -> ops.humming_gemm",
|
| 16 |
+
"torch.ops.humming.launch_kernel"
|
| 17 |
+
],
|
| 18 |
+
"error": "RuntimeError: check_curesult, humming/csrc/launcher/utils.h:11, cuFuncSetAttribute failed with error: CUDA_ERROR_INVALID_VALUE",
|
| 19 |
+
"diagnosis": "зрительная башня квантована SELECTIVE_W8_W4_A16 и считается ядром humming; ядро просит у карты больше разделяемой памяти, чем та отдаёт, и не запускается. skip_mm_profiling обходит то же падение ПРИ СТАРТЕ и потому маскировал дефект",
|
| 20 |
+
"consequence": "заявлять мультимодальность нельзя. В карточке и в любых анонсах должно стоять: сейчас только текст",
|
| 21 |
+
"candidate_fix": "хранить зрительную башню в BF16 без квантования — это 371 380 976 параметров, около 743 МБ, и путь humming тогда не задействуется вовсе. Языковую часть это не трогает",
|
| 22 |
+
"note": "родословная зрения сама помечена promotion: forbidden_until_multimodal_A_B_and_raw1010k_PASS"
|
| 23 |
+
}
|