Skip to content

[HELP WANTED] 统一模型采样方式支持 / Unified Model Sampling Methods Support #112

@1985312383

Description

@1985312383

任务类型 / Task Type

请选择任务类型 / Please select the task type:

  • 新功能实现 / New feature implementation
  • 代码优化 / Code optimization
  • 数据集支持 / Dataset support
  • 文档编写 / Documentation
  • 教程制作 / Tutorial creation
  • 测试用例 / Test cases
  • Bug修复 / Bug fixes
  • 其他 / Other

任务描述 / Task Description

背景 / Background

当前torch-rechub中的不同模型支持的采样方式不统一,有些模型只支持point-wise,有些只支持pair-wise或list-wise。为了提供更好的用户体验和更灵活的训练选择,需要为所有模型统一添加三种采样方式的支持。

目标 / Objectives

  1. 整合所有现有模型,统一采样接口
  2. 为每个模型添加point-wise、pair-wise、list-wise三种采样方式支持
  3. 保持向后兼容性,不破坏现有API
  4. 提供统一的配置接口和文档

详细要求 / Detailed Requirements

  • 分析现有模型的采样支持情况
  • 设计统一的采样接口和抽象基类
  • 为每个模型实现三种采样方式的支持
  • 修改训练器以支持统一的采样配置
  • 确保所有模型在三种采样方式下都能正常训练
  • 添加采样方式切换的配置选项

技能要求 / Required Skills

必需技能 / Required Skills

  • Python编程 / Python programming
  • PyTorch框架 / PyTorch framework
  • 推荐系统基础 / Recommender systems basics
  • 面向对象编程 / Object-oriented programming
  • 其他: 深度学习模型架构理解 / Understanding of deep learning model architectures

加分技能 / Preferred Skills

  • 深度学习 / Deep learning
  • 机器学习 / Machine learning
  • 数据处理 / Data processing
  • 软件架构设计 / Software architecture design
  • 文档写作 / Technical writing
  • 其他: / Other:

预期产出 / Expected Deliverables

  • 代码实现 / Code implementation
  • 单元测试 / Unit tests
  • 文档更新 / Documentation updates
  • 使用示例 / Usage examples
  • 其他: 兼容性测试和迁移指南 / Compatibility tests and migration guide

参考资料 / References

相关论文 / Related Papers

代码参考 / Code References

  • 现有模型实现: torch_rechub/models/
  • 训练器实现: torch_rechub/trainers/
  • 采样工具: torch_rechub/utils/match.py

文档资源 / Documentation Resources

难度评估 / Difficulty Level

  • 🟢 初级 (适合新手) / Beginner (Good for newcomers)
  • 🟡 中级 (需要一定经验) / Intermediate (Requires some experience)
  • 🔴 高级 (需要深入理解) / Advanced (Requires deep understanding)

预估工作量 / Estimated Effort

  • 📅 1-3天 / 1-3 days
  • 📅 1周 / 1 week
  • 📅 2-4周 / 2-4 weeks
  • 📅 1个月以上 / More than 1 month

贡献指南 / Contribution Guidelines

开始之前 / Before You Start

  1. 请在评论中表明您的兴趣,避免重复工作 / Please comment to express your interest to avoid duplicate work
  2. 阅读 CONTRIBUTING.md 了解开发流程 / Read CONTRIBUTING.md to understand the development process
  3. 设置开发环境并熟悉项目结构 / Set up the development environment and familiarize yourself with the project structure
  4. 分析现有模型的采样支持情况

开发流程 / Development Process

  1. Fork 项目并创建新分支 feature/unified-sampling-support
  2. 调研现有模型的采样方式实现
  3. 设计统一的采样接口抽象
  4. 逐个模型实现三种采样方式支持
  5. 修改训练器以支持统一配置
  6. 编写全面的测试用例
  7. 运行代码格式化: python config/format_code.py
  8. 提交 Pull Request

代码规范 / Code Standards

  • 遵循项目的代码风格 / Follow the project's code style
  • 添加适当的注释和文档字符串 / Add appropriate comments and docstrings
  • 确保所有测试通过 / Ensure all tests pass
  • 更新相关文档 / Update relevant documentation
  • 保持向后兼容性 / Maintain backward compatibility

联系方式 / Contact Information

获取帮助 / Getting Help

  • 💬 在此 Issue 下评论提问 / Comment on this issue with questions
  • 📧 联系项目维护者: morningsky
  • 🔗 查看更多 Issues: GitHub Issues

社区支持 / Community Support

  • 📖 查看项目文档和示例 / Check project documentation and examples
  • 🤝 与其他贡献者交流 / Communicate with other contributors
  • ⭐ 关注项目更新 / Follow project updates

额外信息 / Additional Information

模型清单 / Model Checklist:
需要支持的模型包括但不限于:

  • Matching模型: DSSM, YouTubeDNN, MIND, etc.
  • Ranking模型: DeepFM, Wide&Deep, DCN, etc.
  • Multi-task模型: MMOE, PLE, etc.

实现建议 / Implementation Suggestions:

  • 可以按模型类型分组进行实现
  • 建议先实现一个模型作为模板,然后推广到其他模型
  • 注意不同采样方式对损失函数的影响

测试要求 / Testing Requirements:

  • 确保每个模型在三种采样方式下都能收敛
  • 验证采样方式切换不会影响模型性能
  • 提供性能对比和使用建议

感谢您对 torch-rechub 项目的贡献兴趣!我们期待与您合作。
Thank you for your interest in contributing to torch-rechub! We look forward to working with you.

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is needed | 需要帮助

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions