HNHacker News
TopNewBestAskShowJobs

yeldarb

3,589 karma · joined April 5, 2012

Current: helping developers transform images into information at https://roboflow.com (YC S20)

Past: founder of Hatchlings, www.hatchlings.com

Contact: https://twitter.com/braddwyer (DMs Open)

submissionscomments
yeldarb··on Supervision: Reusable Computer Vision
Yeah, inference[1] is our open source package for running locally (either directly in Python or via a Docker container). It works with all the models on Universe, models you train yourself (assuming we support the architecture; we have a bunch of notebooks available[2]), or train in our platform, plus several more general foundation models[3] (for things like embeddings, zero-shot detection, question answering, OCR, etc).

We also have a hosted API[4] you can hit for most models we support (except some of the large vision models that are really GPU-heavy) if you prefer.

[1] https://github.com/roboflow/inference

[2] https://github.com/roboflow/notebooks

[3] https://inference.roboflow.com/foundation/about/

[4] https://docs.roboflow.com/deploy/hosted-api

yeldarb··on Show HN: Anything To JSON – a language model for structured extraction
Nice, makes sense to chain models so you don't waste the attention of the big smart model on the grunt work of JSON structure.

I bet there are some good post-processing heuristics you could also apply for hallucination with a flag for "this should be in the text verbatim" & then string matching whether the answer it outputted was a string from the text or not.

yeldarb··on Apple MM1: Methods, Analysis and Insights from Multimodal LLM Pre-Training
Will they release the code/weights?
yeldarb··on Immich is changing its license from MIT to AGPLv3
How can a project with 260 contributors and no CLA change their license? Wouldn’t they have to get approval from all of those contributors or remove all that code?
yeldarb··on Show HN: GPT-4 with Vision Checkup
In the simplest case, { “a”: 1, “b”: 2 } seems equally as valid as { “b”: 2, “a”: 1 } (also other things like different key names and white space seem like they shouldn’t effect the “rightness”.
yeldarb··on Show HN: GPT-4 with Vision Checkup
How are you measuring “rightness”? Does it have to exactly match the predefined JSON output? Or is there some qualitative “sameness” check going on?

If you’re not already, you could probably give GPT-4 the correct JSON and the predicted JSON and ask it whether the answer is qualitatively correct and assign a letter grade much like a teacher would grade something qualitative like an essay.

The “parse the graph” one seems almost correct. It’s labeled as “Failing” which is correct if failing means “not perfect” but I’d probably give it a B- rather than an F.

yeldarb··on How Pinterest scaled
Cool to read. Looks very familiar. I started an Easter Egg Hunt Facebook game out of my dorm room in 2008 called Hatchlings. We actually had them beat in the engineers to users ratio. When we had 5 million users and more pageviews/mo than the NY Times it was still just me (and I had hired my mom and sister part time to do customer support). It was running on a LAMP stack + memcached (first at DreamHost, then Joyent, and finally AWS).

This article sparked in my mind a bit-twiddling hack I implemented to get a ton more scale out of our single giant MySQL box that survives in their code base to this day, much to every one of their dev’s chagrin (crazy to think that 15 years later the weekend project I launched still has tens of thousands of monthly subscribers).

At Hatchlings, we had several hundred collections of Easter Eggs (usually 7-12 unique eggs in each collection). Each user would “open” and then hunt for a few collections at a time until they “finished” them. New collections would come out every week (to ensure there was new content daily).

As we scaled both in users and number of collections I realized that the “normal” SQL layout you’d use to represent this (a users table, a collections table keyed on user_id, collection_id, and an eggs table keyed on user_id, collection_id, egg_id) was growing rapidly (each user was adding new rows every day) and needed multiple joins in our “hot” routes (when a user searches for an egg we need to know which collections they have access to, and when a user clicks an egg we need to know if it was new for them and if it newly completed that collection) which were being hit tens of thousands of times per second during peak times. Additionally, every egg collected increased the user’s score.

So I implemented an optimization: store the collection unlocked and completed info compactly in the users table in bit fields. These were several 64 bit integers where eg collections_unlocked_1 being equal to 4 (binary 100) meant that the collection with ID 2 was unlocked. (collections_unlocked_2 equaling 1 would mean collection 64 was unlocked since there were 64 bits in 1). Your “active” collections were the bits that were 1 in an unlocked bit field but 0 in the parallel completed bit field.

This did a few things:

* Reduced the rows per user from total_collectionstotal_eggs to ~collections_in_progress (just in-flight collections) — about a 100x reduction in our total DB size

* Reduced joins to 0

* Since all the “common” egg collections were already completed by all the most active users we didn’t have to check the eggs table for the vast majority of finds because if a collection was marked finished we knew you already had all the eggs in it

* Made everything needed for the hot route compactly storable in a single memcached entry (which allowed us to greatly reduce writes because we would read scores and collections from memcached in the hot route and only write changes to the DB once/minute)

It was a great speed and scaling optimization… But it was really tricky to deal with and reason about… and a binary arithmetic error could completely nuke months of game progress for people. And we also had to remember to add more columns to the users table every year or two or we’d run out of space for collections in our bit fields (we forgot about this a couple of times and it lead to downtime which tended to happen during the most peak times where we had hyped that we were going to release a ton of new content all at once).

yeldarb··on Google Gemini Pro API Available Through AI Studio
OpenAI calls it GPT-V https://help.openai.com/en/articles/8555496-gpt-v-api
yeldarb··on First Impressions with Google Gemini
Weird that the object detection prompt refused to answer. What other variations of that have we tried? Do you think that's an intentional task that was RLHF'd out or a quirk of some kind?

Thinking out loud some things I'd try:

Find the x/y position of the dog.

What is the center point of the dog?

Give the pixel coordinates (xywh) of the dog in this photo.

Simulate an object detection model trained to find dogs run on this photo; give your output in JSON format.

yeldarb··on Google Gemini Pro API Available Through AI Studio
We put the image portion through its paces and compared it with GPT-V here: https://blog.roboflow.com/first-impressions-with-google-gemi...
yeldarb··on Good old-fashioned AI remains viable in spite of the rise of LLMs
We’ve been seeing this in vision too. I’m really excited about multimodal LLMs but it seems like they’re going to be most useful for solving new types of (qualitative) problems vs taking over (quantitative) problems where small, fast CNNs have excelled.

Though they can also play well together[1] given _creating_ quantitative models is a qualitative problem.

[1] https://github.com/autodistill/autodistill

yeldarb··on Are Open-Source Large Language Models Catching Up?
Yeah, check out LLaVA-Plus (they call the experts in your vocabulary "tools") https://github.com/LLaVA-VL/LLaVA-Plus-Codebase
yeldarb··on Visual Anagrams: Generating optical illusions with diffusion models
I'd love one of these on my wall. Imagining a framed version of the Einstein pop-art one where the circle in the middle rotates (either periodically or via a manual lever).
yeldarb··on Amazon's Trainium2 AI Accelerator Features 96 GB of HBM, 4x Training Performance
We tried Inferentia & though they claim their compiler should "just work" on your existing models it was producing a bunch of NaNs for us & was opaque enough that we didn't really have a path forward so we gave up on it.

If we were operating at 100x or 1000x the scale it might make sense to spend the extra engineering time, but we just pay for the NVIDIA chips (especially because a big chunk of our customers run at the edge where NVIDIA compatibility is even more important so we'd be doing double the engineering on an ongoing basis).

yeldarb··on Video-LLaVA
Which part of copyright law are model weights governed by? (Or, if not by copyright law, what's the legal basis that would let you choose a "license" for model weights?)
yeldarb··on Video-LLaVA
Looks like the Vicuna repo is Apache 2.0 also[1].

What's the interpretation of copyright law that would prevent the code being Apache 2.0 based on the source of the fine-tuning dataset?

[1] https://github.com/lm-sys/FastChat

yeldarb··on Serverless development experience for embedded computer vision
This looks like a really cool project; would you be open to us PR'ing support for the 50k fine-tuned models on Roboflow Universe[1] via an `inference`[2] integration?

[1] https://roboflow.com/universe

[2] https://github.com/roboflow/inference

yeldarb··on Serverless development experience for embedded computer vision
Pretty neat! We've been using Lambda for ML serving low-volume CV models (and my understanding is AWS' Sagemaker Serverless is a lambda wrapper) for a couple of years at Roboflow and it is really good for low-volume and bursty use-cases. The latency is surprisingly not bad. It gets really expensive relative to GPUs for high load (and especially predictable high-load like monitoring security cameras 24/7) though so we end up with our biggest enterprise customers running things in a Kubernetes cluster.

There are a few serverless GPU companies like Banana.dev and Modal; I really want to give them a shot. Anyone have experience using them in prod?

yeldarb··on Show HN: Multi-Object Tracking in Python
Are there situations where you'd want to use something like this over a more modern algorithm like ByteTrack or DeepSORT?
yeldarb··on Fuyu-8B: A multimodal architecture for AI agents
This looks epic. Definitely going to explore adding it to Autodistill[1] this weekend. Any chance you'll be publicly releasing the internal OCR finetune?

[1] https://github.com/autodistill/autodistill

yeldarb··on First Impressions with GPT-4V(ision)
Looks like the (Ghost?) image CDN got hugged to death. We'll update the URLs.

```

403. That’s an error.

Your client does not have permission to get URL ... from this server. (Client IP address: ...)

Rate-limit exceeded That’s all we know.

```

yeldarb··on First Impressions with GPT-4V(ision)
If true, this is wild.

I suppose a human could spend 10 seconds per Captcha, so they could do 360 per hour. Add some overhead for not being operating at peak performance every minute of every hour & call it 250. Let's say you can hire someone for $2, that works out to a bit over a penny per Captcha.

I don't think OpenAI has published pricing for GPT-4 Vision yet, but if we assume it's on par with GPT-4, and uses only 1000 of the 8000 possible tokens to process an image that's 3 cents per Captcha.

Doesn't seem completely unreasonable that at-scale humans may actually be cheaper than LLMs at this point. My mind is a little blown.

yeldarb··on First Impressions with GPT-4V(ision)
I’m intrigued to see what kind of problems it’s going to be good/bad at. I think it’s going to be tricky to evaluate though because it has probably memorized all the easy images to eval it with.

Eg anything pulled from Google Images (like that Pulp Fiction frame or city skyline photo) is not a good test. It recognizes common shots but if you pull a screenshot from Google Maps or a random screen cap from the movie it doesn’t do as well.

I tried having it play Geoguessr via screenshots & it wasn’t good at it.

yeldarb··on Meta's Segment Anything written with C++ / GGML
Yes, GroundingDINO is an open set object detector. There are some others (eg DETIC and OWL-ViT) as well.

We’ve been working on using them (often in conjunction with SAM) for auto-labeling datasets to train smaller faster models that can run in real-time at the edge: https://github.com/autodistill/autodistill

yeldarb··on Ask HN: Is there a low cost way to learn real K8s, after exhausting minikube?
Is $200/mo really a huge barrier? That's about the equivalent of 1 college credit at a local University & you'll probably learn a ton more.
yeldarb··on Ask HN: Does your team/company keep meeting recordings for future use?
Yes, we use https://www.pickleai.com and it's great. You don't have to sit in meetings "just in case"; people can just loop you in afterwards and you can skim the transcript or watch on 2x speed.
yeldarb··on Ask HN: Who is hiring? (September 2023)
Roboflow | Multiple Roles | Full-time (Remote, SF, NYC) | https://roboflow.com/careers?ref=whoishiring0923

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=whoishiring0923

[2]: https://roboflow.com/universe?ref=whoishiring0923

[3]: https://github.com/autodistill/autodistill

[4]: https://github.com/roboflow/supervision

[5]: https://blog.roboflow.com/?ref=whoishiring0923

[6]: https://www.youtube.com/@Roboflow

yeldarb··on Keeping Figma Fast: perf-testing the WASM editor
Nice post. Figma's engineering blog looks great; right up there with Airbnb's and Etsy's which I also enjoy.
yeldarb··on Show HN: Pip install inference, open source computer vision deployment
Yes, but also not easily right now. We’ll be adding more supported ways to load models soon, but right now things largely assume using our model registry (and API Key is how it validates who is authorized to use which models).

The “why” is because this has been an internal project for years that we just open sourced, and while it was internal this wasn’t needed. But we’ll add it soon! (PRs also welcome; we’re happy to talk through how that might be architected if you start an issue/discussion on the repo.)

yeldarb··on Show HN: Pip install inference, open source computer vision deployment
Inference operates at a higher layer of abstraction (tasks & architectures vs weights), targets a different audience (software engineers vs deep machine learning experts), and is focused on computer vision specifically (which informs features like its data integrations & interfaces).

I could even imagine a future version of Inference using Triton as an option for its inference engine behind the scenes.

Edit: I'd also be remiss to mention that NVIDIA have been great partners to Roboflow and we also have integrations with Tao Toolkit[1] & Omniverse[2].

[1] https://blog.roboflow.com/nvidia-tao-toolkit-roboflow/

[2] https://developer.nvidia.com/blog/how-to-train-a-defect-dete...

← PreviousPage 2 of 20Next →