aai-institute / aai-institute/pyDVL
Implement scheduling algorithm
- 主要语言
- Python
- 星标
- 146
- 派生
- 10
- PR 合并指标
- 30 天内没有已合并 PR
描述
It makes sense to implement a heuristic for determining: How much processes to start (bookkeeping and data copying has computation cost) and also how much computation each one should perform.
Following three problems:
- Choose a `batch_size` converted to `computation_budget` or something similar.
- Speed changes within permutation sampling as well as the effective dataset gets smaller.
- For some subsets utility evaluations take longer than for others.
**Ideas**:
1. Use `N` processes to estimate `T(cb^(t)+d)`with `d ~ N(0, s=0.1)`, perform gradient descent to obtain `cb^(t+1)` next estimate.
2. Implement a policy via PPO or [Contextual Bandits](https://proceedings.neurips.cc/paper/2020/file/033cc385728c51d97360020ed57776f0-Paper.pdf). Later assumes that the position is not part of the state, e.g. the action `cb^(t)` is an absolute value and not the delta to the next value (which would be probably more stationary).
贡献指南
调研方向
该 issue 描述了 permutation sampling 中用于 process scheduling 和 computation budget allocation 的一种 heuristic。查看 pyDVL 中现有的 permutation sampling 和 parallel processing 代码,以理解当前的 batch size 和 utility evaluation 逻辑。目标是设计并实现一种新的 scheduling algorithm,可能使用 gradient descent 或 PPO、contextual bandits 等 reinforcement learning 方法。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- ai-infra-agents, machine-learning
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100