pwendell
pwendell on Hacker News
We do this for a lot of our customers (fine tuned to save cost when inference volume is high). Right now for internal coding we are using off-the-shelf models but we are considering fine tuning as well to squeeze more efficiency out.
Thank you for the feedback. We wrote this because after discussing with some of our peer companies, I realized everyone was roughly doing similar things. And I thought it would be good for someone to just systematically write down what those are so that others can try out the techniques if they find them useful.
The difficulty of evaluating coding agents is indeed a really big challenge. We built evals on our own codebase and shared some information about that to allow other companies to replicate. We found our own evals correlated loosely with public generic SWE benchmarks.
In large user populations like at Databricks I think the ultimate answer will come from experimentation instead of offline evals. We are already doing this in small groups, exposing them to new candidate models and then measuring per-developer cost and perceived quality changes.
The issue is the growth rates can cause costs to drastically change quickly. If you have 1,000 employees and the average is spending $100/month you're at a $1.2M run rate. But suddenly a new model comes out that's twice as expensive, there are some changes to the harness (we found randomly Claude Code and other harnesses will make changes that drastically impact efficiency), and then maybe you have some organic user growth as well and BOOM suddenly you're at a $10M run rate within 60 days. And it's now impossible to forecast future growth.
It is true that this problem can be mostly managed by the techniques we mention here. Those are actually pretty difficult to set up at scale, so many companies (including us) we only really did this in earnest once we started to see those large cost oscillations.
The main reason we shared this here is to maybe help other companies get infrastructure in place before massive cost swings rather than after.
I authored this - happy to answer any questions.
Posted by
pwendell on Friday June 02, 2023 @01:14PM
from the databricks.com dept.
15k is the entire corpus we have right now. Hopefully others can join up in releasing additional samples that can be merged in over time.
We'll definitely keep iterating on Dolly and releasing everything openly.
Yes this was a very surprising result... that the relatively small uptraining was able to unlock so much latent knowledge in the model.
Yes the issue is that some of the training data is arguably tainted with some noncommercial license (it's nuanced, discussed below in my comment). We are releasing weights to people who request but we just wanted to have an email request flow so that we can make sure people know it's just for noncommercial purposes.
Working on a model without this issue. Certainly our goal is totally open models anyone can use for anything.
No I haven't heard of that, we'll engage with that team. This is exactly what we need will look into it.
Yes it's nuanced, but will be simplified going forward.
This uses a fully open source (liberally licensed) model and we also open sourced (liberally licensed) our own training code. However, the uptraining dataset of ~50,000 samples was generated with OpenAI's text-davinci-003 model, and depending on how one interprets their terms, commercial use of the resulting model may violate the OpenAI terms of use. For that reason we are advising only noncommercial use of this model for now.
The next step here is to create a set of uptraining samples that is 100% open. Stay tuned.
Posted by
pwendell on Tuesday June 09, 2015 @01:56PM
from the databricks.com dept.
The DataFrame is an evolution of the RDD model, where Spark knows explicit schema information. The core Spark RDD API is very generic and assumes nothing about the structure of the user's data. This is powerful, but ultimately the generic nature imposes limits on how much we can optimize.
DataFrames impose just a bit more structure: we assume that you have a tabular schema, named fields with types, etc. Given this assumption, Spark can optimize a lot of internal execution details, and also provide slicker API's to users. It turns out that a huge fraction of Spark workloads fall into this model, especially since we support complex types and nested structures.
Is the core RDD API going anywhere? Nope - not any time soon. Sometimes it really is necessary to drop into that lower level API. But I do anticipate that within a year or two most Spark applications will let DataFrames do the heavy lifting.
In fact, DataFrames and RDDs are completely inter-operable, either can be converted to the other. This means that even if you don't want to use DataFrames you can benefit from all of the cool input/output capabilities they have, even just to create regular old RDDs.
Very likely in Spark 1.4. Hortonworks has been helping out with this, we just need some internal refacotring to the API to make it work.
No worries. Hopefully you'll reconsider using it!
Hey - sorry you had a bad experience. That bug was filed as a "minor" issue with only one user ever reporting it, so it didn't end up high up in our triage. We didn't merge the pull request because it was not correct, however, we can just add our own fix for it if it's affecting users. In the future, if you chime in on a reported JIRA, it will escalate it in our process.
Posted by
pwendell on Saturday February 07, 2015 @09:55PM
from the web.stanford.edu dept.
Posted by
pwendell on Wednesday January 07, 2015 @03:33AM
from the databricks.com dept.
Posted by
pwendell on Friday December 19, 2014 @04:05AM
from the databricks.com dept.
Posted by
pwendell on Wednesday November 05, 2014 @03:01AM
from the gist.github.com dept.
You can call GraphX algorithms right now from within the Streaming API, for instance compute a graph on a windowed view of data.
Online graph algorithms aren't there yet (probably what you mean). We just started adding online MLlib algorithms, so this is the main focus for now.
Yeah, you can load Parquet data directly into SchemaRDD's in 1.1 and get the type conversion, including use of nested types. That's the long term solution for all of our storage integration is to go through the SchemaRDD API since it's a standard type description and we expect many data sources to integrate there.
Re: databricks cloud - shoot me an e-mail and I'll see if I can help. Right now demand exceeds supply for us on accounts, but I can try!
Hey all - I'm the release manager for Spark 1.1. Happy to answer any questions about Spark or this release.
Posted by
pwendell on Monday December 02, 2013 @12:16PM
from the ustream.tv dept.
Posted by
pwendell on Wednesday October 02, 2013 @04:37PM
from the pwendell.com dept.
Posted by
pwendell on Monday September 09, 2013 @12:35PM
from the cs.princeton.edu dept.
Posted by
pwendell on Tuesday August 27, 2013 @11:20PM
from the ampcamp.berkeley.edu dept.
Posted by
pwendell on Tuesday June 04, 2013 @11:42AM
from the amplab.cs.berkeley.edu dept.