aai-institute / aai-institute/pyDVL

Implement scheduling algorithm

未关闭
#449 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。