Sender | Message | Time |
---|---|---|
30 Jun 2022 | ||
I'd prefer to use Nix for that though, if something like it exists. jupyterWith is not close to that behaviour, and wouldn't work on a self-hosted jupyter platform as far as I can tell, especially for the users of the platform (which is my core focus as a data scientist) | 08:15:59 | |
jupyterWith is great if what you want to do is setup a reproducible simple environment on your own system or for yourself, or for a general reproducible platform, but not for individually reproduced (even foreign) notebooks on a hosted platform. | 08:17:22 | |
In reply to @schnecfk:ruhr-uni-bochum.deThe nix kernel might be very useful though, if it's possible to spin up other per-cell kernels in that | 08:19:04 | |
5 Jul 2022 | ||
12:36:43 | ||
Wonder if anyone is thinking about seeing ML model training as a nix-build and adding the resulting model binaries to the nix store, similarly to how DVC does it: https://dvc.org/doc/user-guide/project-structure/internal-files#structure-of-the-cache-directory Crazy? Reproducible experiment tracking as a build process rather than application state? | 21:35:28 | |
Yeah I do that a lot | 21:38:54 | |
Also run bioinformatics pipelines similarly: https://github.com/papenfusslab/bionix | 21:40:03 | |
6 Jul 2022 | ||
Makes sense that the outputs (including intermediate ones) should go in the nix store and be immutable | 06:39:46 | |
Although how do you deal with nondeterminism? Would it work to consider the RNG seed to be as part of the build input to recovery reproducibility? | 06:41:46 | |
* Although how do you deal with nondeterminism? Would it work to consider the RNG seed to be as part of the build input to recover reproducibility? | 06:48:39 | |
i set my seeds so it's deterministic | 06:48:58 | |
there's that new non-determinism feature of nix that might be useful if you can't do that | 06:50:38 | |
ooh, I hadn't heard about that | 06:53:32 | |
https://github.com/NixOS/nix/pull/6227 | 06:55:00 | |
i haven't really thought about this in the context of data pipelines, just remember seeing it pass my notifications | 06:55:36 | |
While I don't have a huge amount of experience with this, one thing to keep in mind is that if you have huge datasets, they end up in the Nix store (unless you're doing something unusual) along with your output model. Your Nix store can really blow up in space. You may need to make sure you're garbage collecting frequently, but that may reduce the helpfulness of running training with Nix in the first place. You'd also have to be careful with running builds on a machine that pushes results to a shared cache, since huge datasets and models could really clear out everything else in a cache. You may also want to setup your Nix builders so they can see your GPUs. And fiddle with the | 07:45:28 | |
If you're trying to productionize something, it may be easier to start with a system that already has answers for all this type of stuff (some MLOps service or something?), rather than rolling your own with Nix. | 07:55:13 | |
9 Jul 2022 | ||
11:33:12 | ||
12 Jul 2022 | ||
22:55:46 | ||
26 Jul 2022 | ||
14:39:42 | ||
15:40:54 | ||
18:32:31 | ||
27 Jul 2022 | ||
20:39:42 | ||
1 Aug 2022 | ||
09:06:29 | ||
09:06:44 | ||
How do people deal with packages trying to download models at runtime to the nix store? This is more of a general question since I've noticed that a lot of data science libraries nowadays are just downloading dependencies at runtime. | 18:18:39 | |
2 Aug 2022 | ||
In reply to @collinarnett:matrix.orgI think all you can do is contact upstream to fix where they install to. If they need models, that could be fine, but then they should probably go to ~/.cache | 09:26:59 | |
In reply to @FRidh:matrix.orgYeah I think this is probably the best solution. Thank you :) | 17:16:04 | |
6 Aug 2022 | ||
17:42:49 | ||
20:35:43 |