[nlp] Token indices sequence length is longer than the specified maximum sequence length for this

文章介绍了如何处理Encoder.tokenizer中的序列过长问题,提倡不截断以保持训练质量,涉及json数据加载和句子分词编码过程。
摘要由CSDN通过智能技术生成

问题:

Token indices sequence length is longer than the specified maximum sequence length for this model (170835 > 32768). Running this sequence through the model will result in indexing errors

解决办法:

不是报错,可以忽略,不要截断(truncation=True),截断会影响训练效果。。

sentence_ids = Encoder.tokenizer(sentence, truncation=True)['input_ids']
    def encode(self, json_line):
        try:  # json.loads may raise an exception
            data = json.loads(json_line)
            ids = {}
            tokens = 0
            # print("json_keys", args.json_keys)
            for key in self.args.json_keys:
                text = data[key]
                doc_ids = []
                for sentence in Encoder.splitter.tokenize(text):
                    if args.tokenizer_type == "QwenTokenizer":
                        sentence_ids = Encoder.tokenizer(sentence, truncation=True)['input_ids']
                    else:
                        sentence_ids = Encoder.tokenizer.tokenize(sentence)
                    tokens += len(sentence_ids)
                    if len(sentence_ids) > 0:
                        doc_ids.append(sentence_ids)
                if len(doc_ids) > 0 and self.args.append_eod:
                    doc_ids[-1].append(Encoder.tokenizer.eos_token_id) #qwen1.5:eos_token_id, qwen:eod_id, llama:eod
                ids[key] = doc_ids
            return ids, len(json_line), tokens
        except:
            print("error in token_raw_data_for_dsw_qwen.py, please check lines 81 to 100")
            return {}, 0, 0

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心心喵

喵喵(*^▽^*)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值