dice-group / dice-embeddings

Hardware-agnostic Framework for Large-scale Knowledge Graph Embeddings
MIT License
48 stars 13 forks source link

Auto KGE Feature #34

Closed Demirrr closed 1 year ago

Demirrr commented 2 years ago

For a given dataset and a knowledge graph embedding model, make a sequence decisions so that our computation and time budgets are fully utilized, specficaly

  1. Find a combination of the batch size and size of embedding vectors that fully uses the available hardware.
  2. Through validation set performance, we may study adaptive rates for drop outs
Demirrr commented 2 years ago
  1. Detect available GPUs and the size of the KG and move to model paralleisim from data parallelsim
Demirrr commented 1 year ago

Update:

Find a combination of the batch size and size of embedding vectors that fully uses the available hardware.

Possible workflow:

  1. Initialize the model and check the CPU usage
  2. Perform dummy forward and backward pass to compute memory usage
  3. Assume that (2) is a "good" approximation of actual memory usage in CPU/GPU etc.
  4. Increment the batch size until out-of-memory issue occurs.
Demirrr commented 1 year ago

Auto batch finder is available here.