{"id":"6MKVVQjsYJ","url":"https://pastebin.ca/6MKVVQjsYJ","raw_url":"https://raw.anybin.ca/6MKVVQjsYJ","visibility":"public","access":"public","created_at":1785734307627,"expires_at":1786339107627,"fetch_limit":null,"fetches_used":0,"reads_remaining":null,"size_bytes":6097,"syntax_hint":null,"title":null,"filename":null,"change_note":null,"cipher":null,"cipher_meta":null,"parent_id":null,"root_id":"6MKVVQjsYJ","version":1,"owner_id":null,"recipient_id":null,"body":"我现在有七张4090,ubuntu系统，我想要部署开源的本地大模型，纯GPU使用。主要功能包括三点：1.文档翻译，包括常用格式和Ocr；2.俄语转文字；3.多个文档的内容综合分析，检索，总结\n\n可以。按每张 4090 为 24GB 计算，7 张卡足够部署一套实用的本地“文档翻译 + 俄语转写 + 多文档知识库”系统。\n\n我建议采用专用模型分工，不要把 7 张卡全部绑成一个超大模型。\n推荐显卡分配\nGPU\t服务\t推荐模型\t用途\n0–1\t综合分析模型\tQwen3.5-35B-A3B-FP8\t多文档分析、归纳、问答，开启思考模式\n2–3\t翻译模型\t同一模型的第二实例\t文档翻译，关闭思考模式，提高速度\n4\t文档解析/OCR\tPaddleOCR-VL-1.6 + PP-StructureV3\t扫描件、PDF、表格、公式、版面识别\n5\t俄语语音识别\tQwen3-ASR-1.7B + ForcedAligner-0.6B\t俄语转写、语言识别、时间戳\n6\t检索模型\tQwen3-Embedding-4B + Qwen3-Reranker-0.6B\t向量化、跨语言检索、结果重排\nQwen3.5-35B-A3B 总参数 35B、每次仅激活约 3B，官方 FP8 权重约 38GB，两张 4090 可以承载一个实例；模型支持 201 种语言、262K 原生上下文，官方称 FP8 与原模型指标接近。Qwen3.5 官方模型卡4090 属于 Ada 架构，vLLM 原生支持 FP8 W8A8，因此这里选 FP8 比 INT4 更适合你的硬件。vLLM FP8 支持说明\n三项功能的具体实现\n1. 文档翻译与 OCR\n\n处理流程：\n\n    原生 PDF 先提取文字层。\n\n    扫描 PDF、图片、TIFF 使用 PaddleOCR。\n\n    识别标题、段落、表格、公式、图片及阅读顺序。\n\n    按段落和表格单元翻译，不按固定字符数切割。\n\n    使用术语库和翻译记忆库保证同一术语前后一致。\n\n    检查数字、日期、单位、专有名词、表格行列是否改变。\n\n    重建 DOCX、PDF 或双语对照文档。\n\nPaddleOCR-VL 支持 109 种语言，PP-StructureV3 可以输出带版面信息的 Markdown/JSON；PP-DocTranslation 本身就是复杂版面文档翻译管线，可将翻译后端换成本地 Qwen 接口。PaddleOCR\n、PP-DocTranslation\n\n常用格式建议这样处理：\n格式\t处理方式\nDOCX\t直接修改 OOXML 文本节点，尽量保留样式\nPPTX\t翻译文本框、表格和备注，保留坐标\nXLSX\t逐单元格翻译，保护公式和数字\nPDF\t提取文字层；扫描件走 OCR\nPNG/JPG/TIFF\tOCR 后重建 DOCX/PDF\nHTML/MD/TXT\t直接解析和翻译\n\n需要注意：PDF 的中俄文长度差异很大，“像素级保持原版式”不能百分百保证。实际生产中最好同时输出“尽量保持版式版本”和“双语 DOCX 版本”。\n2. 俄语转文字\n\n优先使用 Qwen3-ASR-1.7B，而不是 Whisper。它明确支持俄语、长音频、流式和离线推理；搭配 Qwen3-ForcedAligner 可以生成俄语词级时间戳。Qwen3-ASR 官方模型卡\n\n流程建议：\n\n    FFmpeg 统一转成 16kHz 单声道；\n\n    Qwen3-ASR 生成原始俄语文本；\n\n    ForcedAligner 添加句子/词级时间戳；\n\n    主模型只负责标点修复、分段和专有名词纠错；\n\n    同时保留“原始转写”和“清洗后文本”，防止大模型改写原意。\n\n如果是多人会议，还需要再增加说话人分离模型。\n3. 多文档检索、总结与综合分析\n\n推荐使用：\n\n    Qwen3-Embedding-4B：生成中英俄跨语言向量；\n\n    Qdrant：保存向量、原文、文档名、页码和章节；\n\n    Qdrant BM25：精确关键词检索；\n\n    Qwen3-Reranker-0.6B：对候选内容二次排序；\n\n    Qwen3.5：根据检索内容生成带出处的结论。\n\nQwen3 Embedding/Reranker 支持 100 多种语言和最长 32K 输入。Qwen3 Embedding 官方说明\nQdrant 可以在一次查询中融合语义向量和 BM25 关键词结果。Qdrant 混合检索\n\n建议检索参数：\n\n    按标题、段落和表格切块，每块约 500–1000 token；\n\n    语义检索与 BM25 各取 30–50 条；\n\n    融合后用 Reranker 重排；\n\n    最终给主模型 8–15 条证据；\n\n    每个结论必须带“文档名、页码、章节”；\n\n    全库总结采用“逐文档总结 → 主题合并 → 总体归纳”，不要把所有全文一次塞进上下文。\n\n服务架构\n\n建议全部用 Docker 隔离：\n\n    vLLM：两个 Qwen3.5 服务；\n\n    PaddleOCR：OCR/版面服务；\n\n    Qwen-ASR：语音服务；\n\n    Embedding/Reranker：检索模型服务；\n\n    Qdrant：向量和 BM25；\n\n    PostgreSQL：用户、任务、文档元数据；\n\n    MinIO：原始文件和结果文件；\n\n    Redis + Celery：长任务队列；\n\n    FastAPI：统一接口；\n\n    Open WebUI 或自建前端：上传、翻译、转写和知识库问答。\n\n主模型可以先这样启动：\n\nCUDA_VISIBLE_DEVICES=0,1 vllm serve Qwen/Qwen3.5-35B-A3B-FP8 \\\n  --tensor-parallel-size 2 \\\n  --max-model-len 131072 \\\n  --gpu-memory-utilization 0.92 \\\n  --language-model-only \\\n  --reasoning-parser qwen3 \\\n  --port 8001\n\n翻译实例使用 GPU 2、3，建议先限制为 64K 上下文，并在请求中传入：\n\n{\n  \"chat_template_kwargs\": {\n    \"enable_thinking\": false\n  }\n}\n\n4090 没有 NVLink。初次部署可先用兼容性较好的 TP=2；稳定后再测试 PP=2。vLLM 官方指出，无 NVLink 的机器有时流水线并行通信开销更低。vLLM 多卡部署说明\n“纯 GPU”需要说明\n\n可以做到所有神经网络推理都在 GPU 上、不做 CPU offload，但下面这些仍然由 CPU 完成：\n\n    PDF/DOCX/PPTX 解包；\n\n    音频解码；\n\n    文档重建；\n\n    Qdrant/PostgreSQL；\n\n    队列调度和网络服务。\n\n因此不建议使用 KTransformers 或 llama.cpp 的 CPU-GPU 混合卸载。机器最好有：\n\n    256GB 内存，最低建议 128GB；\n\n    2–4TB NVMe；\n\n    32 核以上 CPU；\n\n    足够的 PCIe 通道；\n\n    4kW 左右供电和散热能力。\n\n下一步如果要我直接给出可运行的 docker-compose.yml、GPU 绑定、目录结构和 FastAPI 接口，需要你补充：Ubuntu 版本、CPU/内存/NVMe、主要翻译语言对、并发人数，以及是否必须保持原文件格式。\n\n"}