Seed-X 多语言文本翻译模型 - 跨语言文本翻译 核心功能
输入列名 | 说明 |
|---|---|
contents | 包含待翻译文本的数组,元素类型为字符串。 |
处理后的数组,元素为每个文本的翻译结果。对于处理失败的文本,返回空字符串。
如参数没有默认值,则为必填参数
参数名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
model_path | str | /opt/las/models | 本地模型文件存储的绝对路径,默认为容器内预置路径。当使用自定义模型时需修改此路径 默认值:"/opt/las/models" |
model_name | str | Seed-X-PPO-7B | 支持的多语言模型名称,当前支持Seed-X-Instruct-7B/Seed-X-PPO-7B系列模型 可选值:["Seed-X-Instruct-7B", "Seed-X-PPO-7B"] 默认值:"Seed-X-PPO-7B" |
dtype | str | bfloat16 | 模型推理精度选择 默认值:"bfloat16" |
max_model_len | int | 32768 | 模型支持的最大序列长度 默认值:32768 |
max_num_seqs | int | 128 | 模型同时处理的最大序列数量 默认值:128 |
tensor_parallel_size | int | 1 | 张量并行计算的设备数量,用于多GPU并行推理 默认值:1 |
enable_prefix_caching | bool | True | 是否启用前缀缓存机制,可提升重复前缀的推理效率 默认值:True |
gpu_memory_utilization | float | 0.9 | GPU内存使用比例,范围0-1 默认值:0.9 |
use_cot | bool | False | 是否使用思维链(Chain-of-Thought)模式进行翻译 默认值:False |
source_language | str | Chinese | 源语言名称,支持的语言请参考模型文档 默认值:"Chinese" |
target_language | str | English | 目标语言名称,支持的语言请参考模型文档 默认值:"English" |
max_tokens | int | 1024 | 模型生成翻译结果的最大token数 默认值:1024 |
batch_size | int | 4 | 单次推理处理的文本样本数量 默认值:4 |
seed | int | 42 | 随机数种子,用于结果复现 默认值:42 |
下面的代码展示了如何使用 daft 运行算子基于Doubao模型对多语言文本进行翻译。
from __future__ import annotations import logging import os import ray import daft from daft import col from daft.las.functions.text.multilingual_text_translate import MultilingualTextTranslate from daft.las.functions.udf import las_udf if __name__ == "__main__": os.environ["DAFT_RUNNER"] = "ray" def configure_logging(): logging.basicConfig( level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S.%s".format(), ) logging.getLogger("tracing.span").setLevel(logging.WARNING) logging.getLogger("daft_io.stats").setLevel(logging.WARNING) logging.getLogger("DaftStatisticsManager").setLevel(logging.WARNING) logging.getLogger("DaftFlotillaScheduler").setLevel(logging.WARNING) logging.getLogger("DaftFlotillaDispatcher").setLevel(logging.WARNING) ray.init(dashboard_host="0.0.0.0", runtime_env={"worker_process_setup_hook": configure_logging}) daft.context.set_runner_ray() daft.set_execution_config(actor_udf_ready_timeout=600) daft.set_execution_config(min_cpu_per_task=0) samples = { "text": [ "这是一篇关于人工智能技术发展的高质量学术论文,内容详实且具有很强的参考价值。", ] } model_path = os.getenv("MODEL_PATH", "/opt/las/models") model_name = "Seed-X-PPO-7B" max_model_len = 32768 max_num_seqs = 128 tensor_parallel_size = 1 dtype = "bfloat16" enable_prefix_caching = True gpu_memory_utilization = 0.9 use_cot = False source_language = "Chinese" target_language = "English" max_tokens = 1024 batch_size = 4 seed = 42 ds = daft.from_pydict(samples) ds = ds.with_column( "translate_text", las_udf( MultilingualTextTranslate, construct_args={ "model_path": model_path, "model_name": model_name, "dtype": dtype, "max_model_len": max_model_len, "max_num_seqs": max_num_seqs, "tensor_parallel_size": tensor_parallel_size, "enable_prefix_caching": enable_prefix_caching, "gpu_memory_utilization": gpu_memory_utilization, "use_cot": use_cot, "source_language": source_language, "target_language": target_language, "max_tokens": max_tokens, "batch_size": batch_size, "seed": seed, }, num_gpus=1, batch_size=1, concurrency=1, )(col("text")), ) ds.show() # ╭─────────────────────────────────────────────────────────────┬────────────────────────────────╮ # │ text ┆ translate_text │ # │ --- ┆ --- │ # │ Utf8 ┆ Utf8 │ # ╞═════════════════════════════════════════════════════════════╪════════════════════════════════╡ # │ 这是一篇关于人工智能技术发展的高质量学术论文,内容详实且具… ┆ This is a high-quality academ… │ # ╰─────────────────────────────────────────────────────────────┴────────────────────────────────╯