Xinference集成输出乱码

#4
by Livinng - opened

尝试在Xinference中以Chat模式集成SeaLLMs/SeaLLM-7B-v2.5,在/inference/xinference/model/llm/llm_family.json中添加如下代码

{
    "version": 1,
    "context_length": 8192,
    "model_name": "SeaLLM-7B-v2.5-chat",
    "model_lang": [
      "en",
      "zh"
    ],
    "model_ability": [
      "chat"
    ],
    "model_description": "SeaLLM-7B-v2.5, the state-of-the-art multilingual LLM for Southeast Asian (SEA) languages 🇬🇧 🇨🇳 🇻🇳 🇮🇩 🇹🇭 🇲🇾 🇰🇭 🇱🇦 🇲🇲 🇵🇭. It is the most significant upgrade since SeaLLM-13B, with half the size, outperforming performance across diverse multilingual tasks, from world knowledge, math reasoning, instruction following, etc.",
    "model_specs": [
      {
        "model_format": "pytorch",
        "model_size_in_billions": 7,
        "quantizations": [
          "none"
        ],
        "model_id": "SeaLLMs/SeaLLM-7B-v2.5",
        "model_revision": "c54a8eb8e2d58c5a680bfbbe3a7ae71753bb644b"
      }
    ],
    "prompt_style": {
      "style_name": "CHATML",
      "system_prompt": "<|im_start|>You are a helpful, respectful, honest and safe AI assistant.",
      "roles": [
        "<|im_start|>user",
        "<|im_start|>assistant"
      ],
      "intra_message_sep": "<eos>",
      "inter_message_sep": "",
      "stop_token_ids": [
        1
      ],
      "stop": [
        "<eos>"
      ]
    }
  }

对比通过 https://huggingface.co/spaces/SeaLLMs/SeaLLM-7B-v2.5-simple 部署和Xinference部署的模型,User输入均为:

请将以下内容翻译成中文:
Do ảnh hưởng từ cuộc đình công của nhân viên an ninh sân bay tại Đức, Vietnam Airlines thông báo thay đổi giờ khởi hành các chuyến bay đến, đi từ sân bay Frankfurt.

Theo đó, hãng sẽ không khai thác các chuyến bay từ Hà Nội, Tp. Hồ Chí Minh đi Frankfurt vào tối 6/3 và các chuyến bay chiều ngược lại vào chiều 7/3.

Cụ thể, các chuyến bay VN37 Hà Nội - Frankfurt, VN31 Tp. Hồ Chí Minh - Frankfurt trong tối 6/3 được lùi giờ khởi hành sang tối 7/3. Các chuyến bay VN36 Frankfurt - Hà Nội, VN30 Frankfurt - Tp. Hồ Chí Minh chiều 7/3 được lùi giờ khởi hành sang chiều 8/3.

Vietnam Airlines cho hay, trường hợp phải thay đổi kế hoạch khai thác vì lý do đình công tại sân bay là tình huống ngoài mong muốn. Các hành khách bị ảnh hưởng được hãng hỗ trợ theo quy định hiện hành.

Theo đại diện Vietnam Airlines, anh hưởng của cuộc đình công đến các chuyến bay có thể tiếp tục kéo dài. Do đó, hành khách đang có kế hoạch đến, đi từ hoặc quá cảnh từ sân bay Frankfurt trong thời gian này cần thường xuyên theo dõi, cập nhật thông tin.Thông tin chuyến bay hiện liên tục được cập nhật trên website [www.vietnamairlines.com](http://www.vietnamairlines.com/); ứng dụng di động “Vietnam Airlines”; nhắn tin Zalo: https://zalo.me/3149253679280388721; Fanpage Facebook chính thức Vietnam Airlines; liên hệ các phòng vé, đại lý chính thức và Tổng đài Chăm sóc khách hàng 1900 1100.

Debug模式下,SeaLLM-7B-v2.5-simple输出日志如下:

<|im_start|>system
You are a helpful, respectful, honest and safe AI assistant.<eos>
<|im_start|>user
请将以下内容翻译成中文:
Do ảnh hưởng từ cuộc đình công của nhân viên an ninh sân bay tại Đức, Vietnam Airlines thông báo thay đổi giờ khởi hành các chuyến bay đến, đi từ sân bay Frankfurt.

Theo đó, hãng sẽ không khai thác các chuyến bay từ Hà Nội, Tp. Hồ Chí Minh đi Frankfurt vào tối 6/3 và các chuyến bay chiều ngược lại vào chiều 7/3.

Cụ thể, các chuyến bay VN37 Hà Nội - Frankfurt, VN31 Tp. Hồ Chí Minh - Frankfurt trong tối 6/3 được lùi giờ khởi hành sang tối 7/3. Các chuyến bay VN36 Frankfurt - Hà Nội, VN30 Frankfurt - Tp. Hồ Chí Minh chiều 7/3 được lùi giờ khởi hành sang chiều 8/3.

Vietnam Airlines cho hay, trường hợp phải thay đổi kế hoạch khai thác vì lý do đình công tại sân bay là tình huống ngoài mong muốn. Các hành khách bị ảnh hưởng được hãng hỗ trợ theo quy định hiện hành.

Theo đại diện Vietnam Airlines, anh hưởng của cuộc đình công đến các chuyến bay có thể tiếp tục kéo dài. Do đó, hành khách đang có kế hoạch đến, đi từ hoặc quá cảnh từ sân bay Frankfurt trong thời gian này cần thường xuyên theo dõi, cập nhật thông tin.Thông tin chuyến bay hiện liên tục được cập nhật trên website www.vietnamairlines.com; ứng dụng di động “Vietnam Airlines”; nhắn tin Zalo: https://zalo.me/3149253679280388721; Fanpage Facebook chính thức Vietnam Airlines; liên hệ các phòng vé, đại lý chính thức và Tổng đài Chăm sóc khách hàng 1900 1100.<eos>
<|im_start|>assistant

Streaming tokens...
<<<User>>> 请将以下内容翻译成中文:
Do ảnh hưởng từ cuộc đình công của nhân viên an ninh sân bay tại Đức, Vietnam Airlines thông báo thay đổi giờ khởi hành các chuyến bay đến, đi từ sân bay Frankfurt.

Theo đó, hãng sẽ không khai thác các chuyến bay từ Hà Nội, Tp. Hồ Chí Minh đi Frankfurt vào tối 6/3 và các chuyến bay chiều ngược lại vào chiều 7/3.

Cụ thể, các chuyến bay VN37 Hà Nội - Frankfurt, VN31 Tp. Hồ Chí Minh - Frankfurt trong tối 6/3 được lùi giờ khởi hành sang tối 7/3. Các chuyến bay VN36 Frankfurt - Hà Nội, VN30 Frankfurt - Tp. Hồ Chí Minh chiều 7/3 được lùi giờ khởi hành sang chiều 8/3.

Vietnam Airlines cho hay, trường hợp phải thay đổi kế hoạch khai thác vì lý do đình công tại sân bay là tình huống ngoài mong muốn. Các hành khách bị ảnh hưởng được hãng hỗ trợ theo quy định hiện hành.

Theo đại diện Vietnam Airlines, anh hưởng của cuộc đình công đến các chuyến bay có thể tiếp tục kéo dài. Do đó, hành khách đang có kế hoạch đến, đi từ hoặc quá cảnh từ sân bay Frankfurt trong thời gian này cần thường xuyên theo dõi, cập nhật thông tin.Thông tin chuyến bay hiện liên tục được cập nhật trên website www.vietnamairlines.com; ứng dụng di động “Vietnam Airlines”; nhắn tin Zalo: https://zalo.me/3149253679280388721; Fanpage Facebook chính thức Vietnam Airlines; liên hệ các phòng vé, đại lý chính thức và Tổng đài Chăm sóc khách hàng 1900 1100.
<<<Asst>>> 由于德国内部机场安保人员罢工的影响,越南航空公司通知更改了所有计划从法兰克福机场起飞或降落的航班的时间表。

根据公司通知,越南航空公司将于6月3日晚和7月3日下午取消所有从河内、胡志明市飞往法兰克福的航班,以及从法兰克福飞往河内的航班和胡志明市的航班。

越南航空公司表示,由于罢工事件,所有计划由安保人员保障的航班的时间表可能需要进行更改。公司将以现行的指导方针为准,为受影响的旅客提供支持。

越南航空公司发言人表示,罢工事件对航班计划的影响可能持续存在,因此计划在法兰克福机场起降或过境的人员应当密切关注航班信息。航班信息将实时更新,可在越南航空公司的官方网站www.vietnamairlines.com上查看,也可以通过越南航空公司的移动应用程序“Vietnam Airlines”、Zalo消息平台、越南航空公司的Facebook官方粉丝页、官方票务室、授权代理商以及客服热线1900 1100进行查询。<eos>

SeaLLM-7B-v2.5-simple输出正常:
图片

Debug模式下,Xinference输出日志如下:

2024-04-24 15:03:42,011 xinference.core.model 14862 DEBUG    Request chat, current serve request count: 0, request limit: None for the model SeaLLM-7B-v2.5-chat
2024-04-24 15:03:42,012 xinference.model.llm.pytorch.core 14862 DEBUG    Enter generate, prompt: <|im_start|>You are a helpful, respectful, honest and safe AI assistant.<eos>
<|im_start|>user


请将以下内容翻译成中文:
Do ảnh hưởng từ cuộc đình công của nhân viên an ninh sân bay tại Đức, Vietnam Airlines thông báo thay đổi giờ khởi hành các chuyến bay đến, đi từ sân bay Frankfurt.

Theo đó, hãng sẽ không khai thác các chuyến bay từ Hà Nội, Tp. Hồ Chí Minh đi Frankfurt vào tối 6/3 và các chuyến bay chiều ngược lại vào chiều 7/3.

Cụ thể, các chuyến bay VN37 Hà Nội - Frankfurt, VN31 Tp. Hồ Chí Minh - Frankfurt trong tối 6/3 được lùi giờ khởi hành sang tối 7/3. Các chuyến bay VN36 Frankfurt - Hà Nội, VN30 Frankfurt - Tp. Hồ Chí Minh chiều 7/3 được lùi giờ khởi hành sang chiều 8/3.

Vietnam Airlines cho hay, trường hợp phải thay đổi kế hoạch khai thác vì lý do đình công tại sân bay là tình huống ngoài mong muốn. Các hành khách bị ảnh hưởng được hãng hỗ trợ theo quy định hiện hành.

Theo đại diện Vietnam Airlines, anh hưởng của cuộc đình công đến các chuyến bay có thể tiếp tục kéo dài. Do đó, hành khách đang có kế hoạch đến, đi từ hoặc quá cảnh từ sân bay Frankfurt trong thời gian này cần thường xuyên theo dõi, cập nhật thông tin.Thông tin chuyến bay hiện liên tục được cập nhật trên website www.vietnamairlines.com; ứng dụng di động “Vietnam Airlines”; nhắn tin Zalo: https://zalo.me/3149253679280388721; Fanpage Facebook chính thức Vietnam Airlines; liên hệ các phòng vé, đại lý chính thức và Tổng đài Chăm sóc khách hàng 1900 1100.
<eos>
<|im_start|>assistant
, generate config: {'echo': False, 'max_tokens': 512, 'repetition_penalty': 1.1, 'stop': ['<eos>'], 'stop_token_ids': [1], 'stream': True, 'stream_interval': 2, 'temperature': 0.7, 'top_p': 0.95, 'top_k': 40, 'model': 'SeaLLM-7B-v2.5-chat'}

Xinference输出乱码:
图片

SeaLLMs - Language Models for Southeast Asian Languages org

@Livinng Few things to note, for SeaLLM-7B-v2.5 (and gemma model)

  • You need to have <bos> at the beginning of prompt.
  • Repetition penalty must be 1., not 1.1 - this is the main reason of failure.
  • system role is missing, should be <|im_start|>system\nYou are a helpful assistant.<eos>\n<|im_start|>user\n
    So if your platform's tokenizer doesn't add <bos> by default, the template will be:
<bos><|im_start|>system\nYou are a helpful assistant.<eos>\n<|im_start|>user\nHello<eos>\n<|im_start|>assistant\n

@Livinng Few things to note, for SeaLLM-7B-v2.5 (and gemma model)

  • You need to have <bos> at the beginning of prompt.
  • Repetition penalty must be 1., not 1.1 - this is the main reason of failure.
  • system role is missing, should be <|im_start|>system\nYou are a helpful assistant.<eos>\n<|im_start|>user\n
    So if your platform's tokenizer doesn't add <bos> by default, the template will be:
<bos><|im_start|>system\nYou are a helpful assistant.<eos>\n<|im_start|>user\nHello<eos>\n<|im_start|>assistant\n

Thank you for your prompt and detailed responses to my inquiries. It works perfectly now.

Sign up or log in to comment