vmoens @vmoens.bsky.social · 02/10/2025Happy to announce that I've joined Periodic Labs as member of technical staff. We're a mission driven startup aimed at accelerating scientific discovery using AI, with a strong focus on material science (discovery of new materials such as superconductors and such). We're hiring: periodic.comperiodic.comPeriodic LabsFrom bits to atoms. 1242
vmoens @vmoens.bsky.social · 06/03/2025The fact that all LLM libraries don't have the same data format is as surprising as the fact that there is more than one sign language dialect 120
vmoens @vmoens.bsky.social · 06/03/2025Ray is an excellent way of testing if all your `__repr__` are coded properly (but it shouldn't be) 020
vmoens @vmoens.bsky.social · 03/03/2025Just stumbled upon RouteRL: a multiagent RL framework to facilitate the testing and development of efficient route choice strategies coexistence-project.github.io/RouteRL/ Looks pretty cool!coexistence-project.github.ioRouteRL 1.0.0 documentationContentsMenuExpandLight modeDark modeAuto light/dark, in light modeAuto light/dark, in dark mode 040
Reposted by vmoensXuan Son Nguyen @ngxson.hf.co · 27/02/2025What is GGUF, Safetensors, PyTorch, ONNX? In this blog post, let's discover common formats for storing an AI model. huggingface.co/blog/ngxson/...huggingface.coCommon AI Model FormatsA Blog post by Xuan-Son Nguyen on Hugging Face 053
vmoens @vmoens.bsky.social · 21/02/2025MLGym makes it super easy to set up complex tasks to be solved by LLMs. Honestly one of the most intuivite APIs I have ever seen in that space! 000
vmoens @vmoens.bsky.social · 21/02/2025After that, your LLM reads these instructions, and outputs prompts with some thoughts. The commands are executed in the docker's bash, and the result is returned to the agent. 100
vmoens @vmoens.bsky.social · 21/02/2025Today we're opensourcing MLGym, an API for AI research agents. MLGym relies on a gym environment that wraps a docker image. Each env has a task specified as a YAML file, telling in plain english what you want your LLM to achieve 👇 130
vmoens @vmoens.bsky.social · 19/02/2025Good old cProfile with snakeviz is pretty cool too jiffyclub.github.io/snakeviz/ Again, not for cuda ops, and not as fine-grained as line-profiler but quite useful for macro-tracking of compute timejiffyclub.github.ioSnakeVizSnakeViz is a browser based graphical viewer for the output of Python's cProfile module. 020
vmoens @vmoens.bsky.social · 19/02/2025torch.utils.benchmark.Timer is amazing to assess the runtime of a whole isolated piece of code, but be mindful that the way it plays with global variables isn't always obvious and may differ from time.time() on occasions 120
vmoens @vmoens.bsky.social · 19/02/2025I use line_profiler to check the code line-by-line (careful: cuda ops re async, do not trust it for these!) - very useful to check cpu-overhead pypi.org/project/line...pypi.orgline-profilerLine-by-line profiler 120
vmoens @vmoens.bsky.social · 19/02/2025The profilers I use: PyTorch profiler to view the time spend doing the various ops of my code. It can reliably show you what's going on for a single iteration of your function. pytorch.org/tutorials/re...pytorch.orgPyTorch Profiler — PyTorch Tutorials 2.6.0+cu124 documentation 120
vmoens @vmoens.bsky.social · 19/02/2025In general, in-place operations are not preferable to regular ones (you won't gain much mem improvement or speed-ups). Don't load your code with ReLU(inplace=True), mul_, add_ if not absolutely necessary. 110
vmoens @vmoens.bsky.social · 19/02/2025Using hydra or similar fancy config objects: Avoid calling cfg.attribute often in the code. Instead, cache the args values in your script as global workspace variables. 120
vmoens @vmoens.bsky.social · 19/02/2025If you have a tiny model (robotics, RL) cpu-overhead bound, avoid frequent calls to eval() or train() in eager mode, or model.parameters() or anything that goes through your model. Prefer cached versions of these calls. 120
vmoens @vmoens.bsky.social · 19/02/2025Avoid calling tensor.item() in between cuda operations. This triggers a cuda synchronization and blocks your code. Do the logging after all code (forward / backward / optim) has completed. See how to find sync points here) 130
vmoens @vmoens.bsky.social · 19/02/2025Avoid pinning memory in your code unless you thoroughly tested that it accelerates runtime (see this tutorial for more info). As an aside, pin_memory is also less safe! pytorch.org/tutorials/in...pytorch.orgA guide on good usage of non_blocking and pin_memory() in PyTorch — PyTorch Tutorials 2.6.0+cu124 documentation 120
vmoens @vmoens.bsky.social · 19/02/2025Don't send tensors to device using to(device) if you can instantiate them directly there. For instance, prefer randn((), device=device) to randn(()).to(device) 130
vmoens @vmoens.bsky.social · 19/02/2025A few tips I share when I talk about perf with PyTorch in eager mode (with focus on small models): 🪢 1122
vmoens @vmoens.bsky.social · 11/02/2025I guess my point was that a proper name + definition is necessary to write good code. When I see “policy”, “critic”, “replay buffer”, “env” I know exactly what does and doesn’t belong to them. With agent is systematically a “hm yeah why not” - then you end up with ill-defined monster classes 000
vmoens @vmoens.bsky.social · 11/02/2025If your agent is a policy call it policy, if it's a trainer call it trainer! If it's just a big undefined collection of methods, consider refactoring it... 120
vmoens @vmoens.bsky.social · 11/02/2025Every time I meet with people and someone talks about agent, there's at least one person who asks "what do you mean by agent?" or "you should not call that an agent". 110
vmoens @vmoens.bsky.social · 11/02/2025I stand by my point that the word "agent" should be avoided at all costs. At least in RL, anytime I see an "Agent" class it's meant to be a "whatever doesn't fit in any other bucket in my codebase". 250
vmoens @vmoens.bsky.social · 06/02/2025Everyone's like "hey I just coded and trained a SOTA LLM in my garage last week, also wrote a blogpost about it and opensourced the repo" and the only thing I did in the meantime was fix a CI and configure a remote interpreter on a server... 😢 050
vmoens @vmoens.bsky.social · 05/02/2025Side note: we saw some nice adoption from DeepSeek-R1 reprod repos, which is humbling, if not thrilling! github.com/Jiayi-Pan/Ti...github.comGitHub - Jiayi-Pan/TinyZero: Clean, minimal, accessible reproduction of DeepSeek R1-ZeroClean, minimal, accessible reproduction of DeepSeek R1-Zero - Jiayi-Pan/TinyZero 020
vmoens @vmoens.bsky.social · 05/02/2025A new release of tensordict is out github.com/pytorch/tens... Thanks to all who have contributed!github.comRelease v0.7.0: More robust composite distributions, TensorClass superclass · pytorch/tensordictv0.7.0: More robust composite distributions, TensorClass superclass v0.7.0 brings a lot of new features and bug fixes. Thanks to the vibrant community to help us keeping this project alive! New Con... 191
vmoens @vmoens.bsky.social · 26/01/2025You’ve never really understood PyTorch until you’ve figured out what torch.scatter exactly does. I’ve never really understood PyTorch. 161
Reposted by vmoensMuJoCo.org @mujoco.bsky.social · 16/01/2025Introducing playground.mujoco.org Combining MuJoCo’s rich and thriving ecosystem, massively parallel GPU-accelerated simulation, and real-world results across a diverse range of robot platforms: quadrupeds, humanoids, dexterous hands, and arms. Get started today: pip install playgroundplayground.mujoco.orgMuJoCo PlaygroundAn open-source framework for GPU-accelerated robot learning and sim-to-real transfer 17520
vmoens @vmoens.bsky.social · 09/01/2025One of the bests Mindscape episodes I've heard! I've always been interested in the epistemology of controversial scientific concepts such as emergence or consciousness. Vaguely defined concepts (or diverging definitions) are often at the root of many pointless debates. Kudos on clarifying things! 000
vmoens @vmoens.bsky.social · 21/12/2024media.tenor.comNo God Please No No GIFALT: No God Please No No GIF 020
vmoens @vmoens.bsky.social · 21/12/2024New Year’s resolutions: - eat healthier - exercise more - no more “is all you need” papers 2101
Reposted by vmoensStone Tao @stonet2000.bsky.social · 20/12/2024Yesterday the hyped Genesis simulator released. But it's up to 10x slower than existing GPU sims, not 10-80x faster or 430,000x faster than realtime since they benchmark mostly static environments blog post with corrected open source benchmarks & details: stoneztao.substack.com/p/the-new-hy... 48922
vmoens @vmoens.bsky.social · 19/12/2024Wrong answers only: What does this `Human-computer` sticker seen at neurips hide? 250
vmoens @vmoens.bsky.social · 14/12/2024Check out Motivo, a behavioral foundation model for humanoid control by FAIR. It's a one-of-its-kind unsupervised RL project, and it comes with a demo that is SO fun to play with! metamotivo.metademolab.com (for the record, they use compile and cudagraphs -> github.com/facebookrese...) 1305
vmoens @vmoens.bsky.social · 12/12/2024Easily transform video files into PyTorch tensors with: 🎯User-friendly APIs 🎯Exceptional CPU and CUDA performance 🎯Advanced sampling capabilities tailored for ML training pipelines 000
vmoens @vmoens.bsky.social · 12/12/2024PyTorch has released torchcodec yesterday, a powerful video decoding toolbox pytorch.org/blog/torchco... github.com/pytorch/torc...pytorch.orgtorchcodec: Easy and Efficient Video Decoding for PyTorchWe are pleased to officially announce torchcodec, a library for decoding videos into PyTorch tensors. It is fast, accurate, and easy to use. When running PyTorch models on videos, torchcodec is our re... 1120
vmoens @vmoens.bsky.social · 11/12/2024Links: NeurIPS page: neurips.cc/virtual/2024... GitHub: github.com/facebookrese... Paper: arxiv.org/abs/2312.01472 010
vmoens @vmoens.bsky.social · 11/12/2024Where: West Ballroom A-D poster 6510, Wednesday Dec. 11th from 11 a.m. PST to 2 p.m. PST We’d love to see you there — please come and say hi! 100
vmoens @vmoens.bsky.social · 11/12/2024Built on TorchRL and PyTorch, BenchMARL ensures high performance and state-of-the-art implementations, while its flexible configuration and standardized reporting make it a breeze to use. 100
vmoens @vmoens.bsky.social · 11/12/2024 BenchMARL is a cutting-edge training library designed to bring standardized benchmarking to the world of Multi-Agent Reinforcement Learning (MARL). It allows for easy comparison across different algorithms, models, and environments, making it a game-changer for researchers and developers alike. 100
vmoens @vmoens.bsky.social · 11/12/2024Tomorrow with Matteo Bettini we'll be presenting BenchMARL at #NeurIPS (@neuripsconf.bsky.social) in #Vancouver 180
vmoens @vmoens.bsky.social · 09/12/2024When I'm not presenting, you can find me hanging around the Meta booth. Ping me if you want to chat about BricksRL or anything else! 010
vmoens @vmoens.bsky.social · 09/12/2024We'll be presenting our poster on Wednesday at 4:30 p.m. — 7:30 p.m. PST in Hall A-C 4210. Come say hi! 110