datawhalechina / DOPMC

Datawhale 开源项目管理委员会(Datawhale Open-source Project Management Committee,简称DOPMC)
203 stars 21 forks source link

unlock-hf #247

Open moyanxinxu opened 5 months ago

moyanxinxu commented 5 months ago

你是否已经阅读并同意《Datawhale开源项目指南》?

你是否已经阅读并同意《Datawhale开源项目行为准则》?

项目简介

近年来,自然语言处理(NLP)领域随着 Transformer 模型的出现取得了突破性进展,而 Hugging Face 作为 NLP 社区的重要力量,提供了丰富的预训练模型和易用的函数库,极大地降低了 NLP 应用开发的门槛。

本项目旨在深入学习 Hugging Face 生态系统中的各种函数库,并通过完成生动有趣的具体项目提升NLP实践水平。

立项理由

  1. Hugging Face 函数库不断更新迭代,集成最新的 NLP 模型和技术,学习和掌握这些函数库是提升 NLP 开发能力的关键。本项目旨在建立学习路线和开源教程帮助学习者提升 NLP 开发能力。
  2. 本项目将选择具有实际应用价值的 NLP 任务,让学习者通过学习 HuggingFace生态 培养对 NLP 的兴趣,积累宝贵的实践经验。

项目受众

只要感兴趣就是我们的受众。

项目亮点

  1. 在DataWhale开源项目learn-nlp-with-transformers已经进行了部分工作,但也是仅限于transformers这个函数库,同时该开源教程年久失修,其中提及的技术也是经过多次更迭,不能紧跟大模型时代。本项目则不同,本项目希望在transformers的基础之上囊括更多内容,比如低参高效微调PEFT、扩散模型Diffusers,甚至有能力还可以具体搞gradio,等等。
  2. 虽然 Hugging Face 提供了官方文档和教程,但缺乏系统性的学习路径和针对不同层次开发者的学习资源。中文版本也是跟不上英文版本的节奏,可能中文文档的更适合国人。
  3. 我计划对典型的NLP任务每种至少给出一个代码案例,代码案例紧跟时代步伐。
  4. 大多的开源教程所使用的代码案例雷同,不够生动有趣,比如做目标检测去检测汽车,若我做,我会做检测皮卡丘,这样的开源教程更具吸引力。

项目规划

目录

  1. Hugging Face整体介绍(网页板块介绍)
    1. models模块
    2. datasets模块
    3. spaces模块
    4. docs模块(培养学习者自主学习的能力)
    5. 镜像的更换
  2. Tokenizers介绍
    1. 配置文件config.json介绍
    2. 具体使用案例
  3. Datasets介绍
    1. 数据集加载
      1. 本地
      2. 远程
    2. 数据集变换
    3. 数据量不足的各种应对策略
  4. Transformers介绍
    1. 如何加载各种模型
    2. 如何封装自己的模型
  5. Trainer、TrainingArguments介绍
    1. Trainer的常用参数介绍
    2. 如何自定义Trainer各个逻辑,目前是自定义loss
    3. TrainingArguments的常用参数介绍
  6. 低参高效微调PEFT介绍
    1. 微调方法的通用调用方式。
    2. lora微调
    3. loha微调
    4. 等等多种微调方法的

暂时规划了以上的内容,还要考虑evaluate, gradio等机器学习领域。上面的内容虽然简短,但是想做成还是得下功夫。

负责人

田健翔(本人),其他几位我直系学弟学、另外就是help wanted Datawhale成员 于小敏提供指导

可预见的困难

  1. 大家会用这些函数库,但是可能HuggingFace过于庞大,很难有整体的把控。
  2. 精通该HF的生态系统的人员不多。
  3. 成员对项目的专注精力不足。

项目负责人

备注:发起立项申请后DOPMC成员将会在7天内给出审核意见,若7天内无反对意见则默认立项通过~

moyanxinxu commented 4 months ago

https://moyanxinxu.github.io/unlock-hf/