five

mlabonne/FineTome-100k

收藏
github2024-11-26 更新2024-12-06 收录
下载链接:
https://github.com/tigrisdata-community/skypilot-training-demo
下载链接
链接失效反馈
官方服务:
资源简介:
用于训练的数据集,包含多达10万个示例。

A training dataset containing up to 100,000 examples.
创建时间:
2024-11-22
原始信息汇总

数据集概述

数据集名称

  • mlabonne/FineTome-100k

数据集描述

  • 该数据集用于训练模型,包含100k个示例。
  • 数据集格式为ShareGPT

数据集处理流程

  1. 导入数据集

    • 从Hugging Face下载数据集,并将其分片存储到Tigris中。
    • 每个分片最多包含500万个示例。
    • 数据集下载后进行标准化处理,然后保存到Tigris。
  2. 导入模型

    • 从Hugging Face下载模型权重,并将其存储到Tigris。
    • 模型权重和分词器模型均存储在Tigris中。
  3. 预处理数据集

    • 加载每个分片数据集,并使用模型的分词格式进行预处理。
    • 预处理后的数据集保存回Tigris。
  4. 模型训练

    • 加载模型并叠加LoRA(低秩适应)模型。
    • 对每个分片数据集进行训练,训练完成后将权重保存到Tigris。

数据集存储

  • 数据集和模型权重存储在Tigris中,使用s3://{bucket_name}/路径。

相关代码

  • 数据集导入和分片代码: python dataset = load_dataset(dataset_name, split="train", streaming=True) for shard_id, shard in enumerate(dataset.iter(5_000_000)): dataset = Dataset.from_dict(shard, features=dataset.features) ds.save_to_disk(f"s3://{bucket_name}/raw/{dataset_name}/{shard_id}", storage_options=storage_options)

  • 模型导入代码: python model, tokenizer = FastLanguageModel.from_pretrained( model_name = model_name, max_seq_length = 4096, dtype = None, load_in_4bit = False, ) model.save_pretrained(f"{home_dir}/tigris/models/{model_name}") tokenizer.save_pretrained(f"{home_dir}/tigris/models/{model_name}")

  • 数据集预处理代码: python def prechew(examples): convos = examples["conversations"] texts = [tokenizer.apply_chat_template(convo, tokenize = False, add_generation_prompt = False) for convo in convos] return { "text" : texts, }

  • 模型训练代码: python model = FastLanguageModel.get_peft_model(model, ...) trainer = SFTTrainer( model = model, tokenizer = tokenizer, train_dataset = dataset, dataset_text_field = "text", args = TrainingArguments( num_train_epochs = 1, ..., ), ..., ) trainer_stats = trainer.train() print(trainer_stats)

搜集汇总
数据集介绍
main_image_url
构建方式
FineTome-100k数据集的构建过程高度依赖于SkyPilot和Tigris的协同工作。首先,数据集通过Hugging Face下载,并被分割成多个500万条记录的碎片(shards),这些碎片随后被标准化处理。接着,这些碎片被存储在Tigris中,确保数据在不同云服务提供商之间传输时无额外费用。模型的权重同样从Hugging Face获取,并存储在Tigris中。整个过程通过一系列脚本自动化执行,包括数据集导入、模型导入、预处理和实际训练,确保了高效且一致的数据处理流程。
特点
FineTome-100k数据集的主要特点在于其构建过程中的高度自动化和跨云服务的无缝集成。通过使用SkyPilot和Tigris,数据集的构建避免了云服务间的数据传输费用,同时保证了数据的标准化和一致性。此外,数据集的碎片化处理使得大规模数据集的训练成为可能,而无需担心内存限制。模型的低秩适应(LoRA)训练方法进一步优化了资源使用,使得在有限的计算资源下也能高效训练。
使用方法
使用FineTome-100k数据集进行模型训练时,首先需要设置环境变量,包括AWS访问密钥、Tigris密钥、存储桶名称和数据集名称等。接着,通过SkyPilot启动训练任务,使用预定义的脚本自动下载数据集、导入模型、进行预处理和训练。训练完成后,模型权重可以存储在Tigris中,并通过SkyPilot的服务功能进行部署,提供OpenAI兼容的API接口。用户可以通过简单的命令行操作或编程接口与训练好的模型进行交互,实现高效的模型应用。
背景与挑战
背景概述
FineTome-100k数据集是由mlabonne在Hugging Face平台上创建的,旨在支持大规模数据模型训练。该数据集的核心研究问题是如何在多云计算环境中高效地进行数据存储和模型训练,特别是在处理超过内存容量的数据时。通过结合SkyPilot和Tigris,研究人员能够简化多云计算部署,确保在不同云服务提供商之间无缝切换,同时避免跨云数据传输的高昂成本。FineTome-100k的创建不仅提升了数据处理的效率,还为AI领域的研究提供了新的工具和方法,特别是在处理大规模数据集和复杂模型训练方面。
当前挑战
FineTome-100k数据集在构建过程中面临的主要挑战包括处理超过内存容量的数据、确保数据在多云计算环境中的高效传输和存储、以及在不同云服务提供商之间无缝切换。此外,数据集的标准化过程也是一个复杂的问题,因为不同的数据集可能采用不同的格式。在实际应用中,如何优化训练过程以减少GPU内存和云资源的消耗,以及如何确保训练模型的可重复性和稳定性,也是该数据集需要解决的重要问题。
常用场景
经典使用场景
FineTome-100k数据集的经典使用场景主要集中在自然语言处理(NLP)领域,特别是在大规模语言模型的微调(fine-tuning)过程中。该数据集通过SkyPilot平台与Tigris存储系统的结合,实现了跨云环境的高效数据存储和模型训练。研究人员和开发者可以利用此数据集对预训练模型进行低秩适应(LoRA)微调,以优化模型在特定任务上的表现。
实际应用
在实际应用中,FineTome-100k数据集被广泛用于构建和优化自然语言处理模型,特别是在需要处理大量文本数据的场景中。例如,它可以用于开发智能客服系统、自动翻译工具以及个性化推荐系统等。通过微调预训练模型,这些应用能够提供更准确和高效的文本处理能力,从而提升用户体验和系统性能。
衍生相关工作
基于FineTome-100k数据集,研究者们开发了多种相关的经典工作,包括但不限于跨云数据存储优化技术、低秩适应微调方法以及大规模模型训练框架。这些工作不仅提升了数据集的使用效率,还为后续研究提供了重要的技术基础和参考。例如,微软的LoRA方法在此数据集上的应用,展示了其在资源受限环境下的显著优势。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作