putting-the-you-in-cpu
autodistill
putting-the-you-in-cpu | autodistill | |
---|---|---|
9 | 13 | |
4,621 | 1,552 | |
1.4% | 5.3% | |
7.9 | 9.2 | |
2 months ago | about 1 month ago | |
MDX | Python | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
putting-the-you-in-cpu
-
Tech I am learning in 2024
Thanks to cpu.land , I grew an uncanny interest in how cpu works and got me deep into operating systems from there, it’s fascinating to see the deep down of your computer to the levels of registers and ALUs(arithmetic logical units). Nand2tetris and OSTEP is the greatest resource for starting with operating systems.
-
Ask HN: Who is hiring? (February 2024)
OrbStack | Founding Engineer | US/Europe REMOTE | Full-time | https://orbstack.dev
OrbStack is making Docker containers & development environments delightful. Our app replaces Docker Desktop and makes containers faster, lighter, and easier to work with. It's the tool of choice for PlanetScale, Replicate, and other hot companies.
Containers should be a joy to use, not something you have to put up with. Let's build the future of dev envs.
As a founding engineer, you'll mainly work on breaking high-level ideas down into tough systems problems, solving them, and taking ownership of projects. If https://cpu.land and https://docs.orbstack.dev/architecture excite you, you'll be right in place.
Email: jobs orbstack dev
-
Show HN: How did YOUR computer reach my server?
Hi! I'm Lexi. I'm 17, and one of the things I'm interested in is gaining a deeper understanding of how computers work and showing that in new ways. A few months ago I published https://cpu.land (discussion: https://news.ycombinator.com/item?id=37062422).
After cpu.land, I felt a lot of pressure to make another Big Giant Thing but didn't really have anything compelling. So I just hacked away on personal projects and, through some coincidental learning on how the Internet works, ended up hacking together a traceroute program that could live stream to a website from scratch!
I realized I had never seen this sort of thing on the web before, and it was actually a kind of cool and novel way of visualizing the structure of the Internet, so I polished it up and built a pretty site around it. In the process, I learned some really interesting things about how BGP and the structure of The Internet, so I melted the traceroute tool with an article sharing that knowledge.
I'm still hacking on this and I'm sure my code will manage to break somehow, so please let me know if you have any suggestions! :)
(Side note: why Rust? I don’t think programming language choice matters that much, but I wanted to quickly write a very dependable low-level program, and I really like Rust’s error handling primitives.
-
Websites must Know #1
https://cpu.land/
- Steve Jobs: Fast boot times saves lives
- I wrote this guide to how CPUs execute programs
- I'm 17 and wrote this guide on how CPUs run programs
- Show HN: I'm 17 and wrote this guide on how CPUs run programs
autodistill
-
Ask HN: Who is hiring? (February 2024)
Roboflow | Open Source Software Engineer, Web Designer / Developer, and more. | Full-time (Remote, SF, NYC) | https://roboflow.com/careers?ref=whoishiring0224
Roboflow is the fastest way to use computer vision in production. We help developers give their software the sense of sight. Our end-to-end platform[1] provides tooling for image collection, annotation, dataset exploration and curation, training, and deployment.
Over 250k engineers (including engineers from 2/3 Fortune 100 companies) build with Roboflow. We now host the largest collection of open source computer vision datasets and pre-trained models[2]. We are pushing forward the CV ecosystem with open source projects like Autodistill[3] and Supervision[4]. And we've built one of the most comprehensive resources for software engineers to learn to use computer vision with our popular blog[5] and YouTube channel[6].
We have several openings available but are primarily looking for strong technical generalists who want to help us democratize computer vision and like to wear many hats and have an outsized impact. Our engineering culture is built on a foundation of autonomy & we don't consider an engineer fully ramped until they can "choose their own loss function". At Roboflow, engineers aren't just responsible for building things but also for helping us figure out what we should build next. We're builders & problem solvers; not just coders. (For this reason we also especially love hiring past and future founders.)
We're currently hiring full-stack engineers for our ML and web platform teams, a web developer to bridge our product and marketing teams, several technical roles on the sales & field engineering teams, and our first applied machine learning researcher to help push forward the state of the art in computer vision.
[1]: https://roboflow.com/?ref=whoishiring0224
[2]: https://roboflow.com/universe?ref=whoishiring0224
[3]: https://github.com/autodistill/autodistill
[4]: https://github.com/roboflow/supervision
[5]: https://blog.roboflow.com/?ref=whoishiring0224
[6]: https://www.youtube.com/@Roboflow
-
Is supervised learning dead for computer vision?
The places in which a vision model is deployed are different than that of a language model.
A vision model may be deployed on cameras without an internet connection, with data retrieved later; a vision model may be used on camera streams in a factory; sports broadcasts on which you need low latency. In many cases, real-time -- or close to real-time -- performance is needed.
Fine-tuned models can deliver the requisite performance for vision tasks with relatively low computational power compared to the LLM equivalent. The weights are small relative to LLM weights.
LLMs are often deployed via API. This is practical for some vision applications (i.e. bulk processing), but for many use cases not being able to run on the edge is a dealbreaker.
Foundation models certainly have a place.
CLIP, for example, works fast, and may be used for a task like classification on videos. Where I see opportunity right now is in using foundation models to train fine-tuned models. The foundation model acts as an automatic labeling tool, then you can use that model to get your dataset. (Disclosure: I co-maintain a Python package that lets you do this, Autodistill -- https://github.com/autodistill/autodistill).
SAM (segmentation), CLIP (embeddings, classification), Grounding DINO (zero-shot object detection) in particular have a myriad of use cases, one of which is automated labeling.
I'm looking forward to seeing foundation models improve for all the opportunities that will bring!
- Ask HN: Who is hiring? (October 2023)
-
Autodistill: A new way to create CV models
Autodistill
- Show HN: Autodistill, automated image labeling with foundation vision models
-
Show HN: Pip install inference, open source computer vision deployment
Thanks for the suggestion! Definitely agree, we’ve seen that work extremely well for Supervision[1] and Autodistill, some of our other open source projects.
There’s still a lot of polish like this we need to do; we’ve spent most of our effort cleaning up the code and documentation to prep for open sourcing the repo.
Next step is improving the usability of the pip pathway (that interface was just added; the http server was all we had for internal use). Then we’re going to focus on improving the content and expanding the models it supports.
[1] https://github.com/roboflow/supervision
[2] https://github.com/autodistill/autodistill
-
Ask HN: Who is hiring? (August 2023)
Roboflow | Multiple Roles | Full-time (Remote, SF, NYC) | https://roboflow.com/careers?ref=whoishiring0823
Roboflow is the fastest way to use computer vision in production. We help developers give their software the sense of sight. Our end-to-end platform[1] provides tooling for image collection, annotation, dataset exploration and curation, training, and deployment.
Over 250k engineers (including engineers from 2/3 Fortune 100 companies) build with Roboflow. We now host the largest collection of open source computer vision datasets and pre-trained models[2]. We are pushing forward the CV ecosystem with open source projects like Autodistill[3] and Supervision[4]. And we've built one of the most comprehensive resources for software engineers to learn to use computer vision with our popular blog[5] and YouTube channel[6].
We have several openings available, but are primarily looking for strong technical generalists who want to help us democratize computer vision and like to wear many hats and have an outsized impact. Our engineering culture is built on a foundation of autonomy & we don't consider an engineer fully ramped until they can "choose their own loss function". At Roboflow, engineers aren't just responsible for building things but also for helping figure out what we should build next. We're builders & problem solvers; not just coders. (For this reason we also especially love hiring past and future founders.)
We're currently hiring full-stack engineers for our ML and web platform teams, a web developer to bridge our product and marketing teams, several technical roles on the sales & field engineering teams, and our first applied machine learning researcher to help push forward the state of the art in computer vision.
[1]: https://roboflow.com/?ref=whoishiring0823
[2]: https://roboflow.com/universe?ref=whoishiring0823
[3]: https://github.com/autodistill/autodistill
[4]: https://github.com/roboflow/supervision
[5]: https://blog.roboflow.com/?ref=whoishiring0823
[6]: https://www.youtube.com/@Roboflow
-
AI That Teaches Other AI
> Their SKILL tool involves a set of algorithms that make the process go much faster, they said, because the agents learn at the same time in parallel. Their research showed if 102 agents each learn one task and then share, the amount of time needed is reduced by a factor of 101.5 after accounting for the necessary communications and knowledge consolidation among agents.
This is a really interesting idea. It's like the reverse of knowledge distillation (which I've been thinking about a lot[1]) where you have one giant model that knows a lot about a lot & you use that model to train smaller, faster models that know a lot about a little.
Instead, you if you could train a lot of models that know a lot about a little (which is a lot less computationally intensive because the problem space is so confined) and combine them into a generalized model, that'd be hugely beneficial.
Unfortunately, after a bit of digging into the paper & Github repo[2], this doesn't seem to be what's happening at all.
> The code will learn 102 small and separte heads(either a linear head or a linear head with a task bias) for each tasks respectively in order. This step can be parallized on multiple GPUS with one task per GPU. The heads will be saved in the weight folder. After that, the code will learn a task mapper(Either using GMMC or Mahalanobis) to distinguish image task-wisely. Then, all images will be evaluated in the same time without a task label.
So the knowledge isn't being combined (and the agents aren't learning from each other) into a generalized model. They're just training a bunch of independent models for specific tasks & adding a model-selection step that maps an image to the most relevant "expert". My guess is you could do the same thing using CLIP vectors as the routing method to supervised models trained on specific datasets (we found that datasets largely live in distinct regions of CLIP-space[3]).
[1] https://github.com/autodistill/autodistill
[2] https://github.com/gyhandy/Shared-Knowledge-Lifelong-Learnin...
[3] https://www.rf100.org
- Autodistill: Use foundation vision models to train smaller, supervised models
- Autodistill: use big slow foundation models to train small fast supervised models (r/MachineLearning)
What are some alternatives?
vmlinux-to-elf - A tool to recover a fully analyzable .ELF from a raw kernel, through extracting the kernel symbol table (kallsyms)
anylabeling - Effortless AI-assisted data labeling with AI support from YOLO, Segment Anything, MobileSAM!!
x86doc - HTML representation of the Intel x86 instructions documentation.
tabby - Self-hosted AI coding assistant
Optimizing-linux - A simple guide for optimizing linux 🐧 in detail
Shared-Knowledge-Lifelong-Learnin
mtr - Official repository for mtr, a network diagnostic tool
segment-geospatial - A Python package for segmenting geospatial data with the Segment Anything Model (SAM)
resemble-enhance - AI powered speech denoising and enhancement
opentofu - OpenTofu lets you declaratively manage your cloud infrastructure.
coursebook - Open Source Introductory Systems Programming Textbook for the University of Illinois
supervision - We write your reusable computer vision tools. 💜