Remix.run Logo
▲ armcat 4 hours ago

About six years ago we built a ticket classification/routing model and pipeline [1]. The initial version was trained using SVMs, it took a couple of minutes to train, and the ticket classification was just a few milliseconds. It's so fascinating to watch how the field moved over to LLMs, and then back to faster/cheaper classifiers again.

[1] "Linnaeus: A highly reusable and adaptable ML based log classification pipeline", https://arxiv.org/abs/2103.06927

NOTE: the work was actually accepted at the International Conference on Software Engineering (ICSE) in 2021.

▲jval43 4 hours ago | parent | next [-]

SVMs in big data were already well liked back in 2010 as they could be scaled via map-reduce.

An issue in industry was that companies would not allow training on their data across customers. Understandably so, as SVM dimensions are readily interpretable given some thought. General purpose datasets were ill-suited too depending on the task.

So you'd start from scratch every time, annotate features like crazy, and often didn't have enough training data overall.

LLMs "solved" that by just ignoring the previous rules and training on everything, which lets the necessary world knowledge seep back in.

I'm sure we'll see many combinations of LLMs and regular machine intelligence in the near future.

▲miki123211 an hour ago | parent | next [-]

LLMs, and other transformer models before them like BERT for example, have the benefit of "transfer learning."

If you want to make a ticket classification model, you don't need to train across many customers doing ticket classification, who might not want you to train on their data and whose data is impossible to obtain unless you already are a large company. Instead, you can train on a completely different task which forces the model to learn the syntactic and semantic structure of the English language — say predicting missing words in Wikipedia articles, which you can't do successfully without a good understanding of English — and then fine-tune that model on your specific task with much less data.

Because the initial task is so general, you can have one company do the expensive pretraining, share the base model, and then have everybody else just do the finetuning on their (small) proprietary dataset.

LLMs and models like Jev go one step further, letting you use them as classifiers with no training at all, with nothing but rules in the prompt. And with a few tricks, you can indeed use them to get pretty high-quality labels, which you can then distill into a fine-tuning dataset for a much smaller model.

▲thesz 14 minutes ago | parent [-]

  > say predicting missing words in Wikipedia articles, which you can't do successfully without a good understanding of English
This is word2vec model, one of - predict a word from context. The other one is to predict surrounding words (context) from a word. It did a good job when I used it, words' classes were impeccable for most practical purposes.

Word2vec is a two layer perceptron.

▲abhgh 38 minutes ago | parent | prev | next [-]

Agree to all of this but I would make a minor correction: the interpretability is true under certain conditions, e.g., you use something like n-grams and train an SVM with a linear kernel. You could change the representation back then too, e.g., LDA (topic models), Latent Semantic Indexing, and of course, you could change the SVMs kernel as well, e.g., use a sequence kernel [1]. Some of these were much less interpretable. But the common pipeline back then was indeed n-grams + Linear SVM. Today it is easy to modernize the pipeline by just changing the representation step to use an embedder like ModernBERT. I have a "one page" classifier if you want to try it out - [2].

[1] I went down the rabbit hole of using sequence kernels quite a bit back then, see https://arxiv.org/abs/1910.13800, but the timing was terrible. RNNs and variants like LSTMs were beginning to become popular, and everyone (including me) switched.

[2] https://pocket-text-lab.abhishek-ghose-82.workers.dev/

▲exe34 3 hours ago | parent | prev [-]

And you can now get that world knowledge out of llms and generate synthetic data to train your svm and fine tune on your own dataset!

▲flatline 2 hours ago | parent [-]

I’ve hand-labeled so many freaking datasets over the years for supervised learning tasks, if only to build out a PoC. Would 100% hand this off to an LLM and just fine tune the results. I definitely do not want an LLM in the loop at inference time for anything I could build a simple classifier for.

▲IanCal 38 minutes ago | parent [-]

Llm labelling is so incredibly useful, as is transforming labelled data to other valid but different forms (like where you might train on sentences but also randomly replace days of the week with others).

You can also do stuff like setup active learning but have the labeller be an llm as well to make things more efficient.

Definitely worth it for PoC level things if not full ones.

Edit - also reviewing, so it can run training, test, review failure cases and investigate itself. You can leave them to plough through a few iterations where the early part is the classic time you’d have a few obviously bad sets of results.

▲benrutter 4 hours ago | parent | prev | next [-]

Yeah, its pretty wild! I think one of the benefits, but also potential risks, with LLMs, is you can just point them at anything without a lot of expertise.

Building an SVM isn't a tricky job, but you probably need a data scientist involved, and to think carefully about a labeled dataset.

I think we're seeing the modelling equivalent of something like electron apps. Where they waste a tonne of resources, but make an easier developement experience.

Will be interesting to see how much or little this changes with LLM costs.

▲Foobar8568 2 hours ago | parent | next [-]

I have seen Phd in stats validating models with data the models have been trained on. And I don’t live in a country with dubious universities.

So between llm and pseudo experts, at this stage, I prefer to go with a LLM.

▲IshKebab 2 hours ago | parent | prev [-]

> Building an SVM isn't a tricky job, but you probably need a data scientist involved, and to think carefully about a labeled dataset.

Well not anymore... You can just get AI to build it.

▲benrutter 2 hours ago | parent [-]

True I guess. I think most companies would at least want sign off from someone who's heard of SVMs that it isn't doing something mad.

Just like, LLMs can build web back ends, but I'd want a security professional to give it some kind of thumbs up. Especially if a lot of money rides on it.

▲solidasparagus 3 hours ago | parent | prev | next [-]

What has changed is that expensive models can be deployed instantly and generate training data until you swap over to training your own cheap models.

Your model only took minutes to train if you don't count the data collection and labelling work

▲matthorse 2 hours ago | parent | prev | next [-]

It's pretty interesting how a very broad field of machine learning got reduced to only LLMs for most consumers. Probably it's due to marketing (and of course how powerful these models are), but their lack of capability in many tasks already forces people, even amateurs, to use LLMs to write deterministic code instead. I wonder if the sudden appearance of viral classifiers predicts more common use of smaller ML models as the next step?

▲miki123211 an hour ago | parent [-]

non-LLM models just aren't visible to consumers.

Saying that the field got reduced to only LLMs is like saying that the field of combustion engines got reduced to cars. The trucks, combine harvesters and peaker plants are still here, they're just in the background, invisible to people who are not part of the industry.

Banks still use random forests and SVMs, medicine and image processing still use CNNs (and people who take photos with their phone don't even realize how much image processing is being done), TTS, ASR and predictive typing models are in wide use, and there's probably still plenty of BERT in spam classification and such.

▲autuni 4 hours ago | parent | prev | next [-]

I think this kind of change will pop up more often.

In software engineering, we learned a long time ago that giant monoliths are not the answer. You want smaller, but specialized units that work together. They perform better at their specific task, are more maintainable, you can just upgrade one part of the system without having to impact the others, ....

I don't know where the focus on building a single model that can do everything comes from.

▲Geezus_42 3 hours ago | parent | next [-]

I was thinking about this recently as well. Smaller, specialized models that can run on device just make so much more sense to me than these huge generalized models that need huge infrastructure run.

▲ivell 3 hours ago | parent | prev | next [-]

I am not sure a best practice in one area translates nicely to another. LLM's power comes with it being a monolith.

▲9rx 2 hours ago | parent | next [-]

> LLM's power comes with it being a monolith.

Does it? All of the latest frontier models that have made technical details publicly available are using MoE; smaller specialized units that work together.

▲nixon_why69 13 minutes ago | parent [-]

Yeah but they're all trained together along with their gate tensor. Evaluating a moderate length prompt pulls in most/all of them.

▲autuni 3 hours ago | parent | prev [-]

Does it though? Let's say you use an LLM to write code, do you think it benefits from the fact that the same model is capable of translating corporate messaging into internet slang for marketing?

I would assume a smaller model trained specifically to produce code based on natural language input would perform at least just as well, which would already be better given the smaller size / probably lower training resource requirements. This is of course, as already said, an assumption. But generalizing typically comes at a cost, there is no reason why this wouldn't apply to LLMs, it even applies to humans.

▲IanCal 33 minutes ago | parent | next [-]

Or would it be worse as it wouldn’t have the broader knowledge to understand the reason you’re coding what you are anyway, understand the logs and iterate?

Coding an exercise app will benefit from a model that can code and understands what exercise is. A car showroom website will benefit from a model that understands what relevant filters would be.

▲autuni 3 minutes ago | parent [-]

Of course there are synergies between different fields. I'm not saying cutting everything off as close as possible to it's purpose must be the best way. But that's a long way from a single generalized model.

▲heggy 2 hours ago | parent | prev [-]

Isn't this just the Bitter Lesson over and over again? Specialised approaches get outperformed by more compute and a simpler general approach pretty much every time.

▲try-working 44 minutes ago | parent [-]

Bitter lesson is wrong. Large general models are outperformed by small specialized models.

▲darylteo 10 minutes ago | parent | prev [-]

> single model that can do everything

"AGI"

▲pletnes 3 hours ago | parent | prev | next [-]

Interesting! I had the idea to compute embeddings of log lines to look for “black swans” in my logs. A small model running locally would do. Then PCA, SVM - any old school method should work, I guess. Haven’t seen it done but it must be tried by someone somewhere.

▲floro 4 hours ago | parent | prev | next [-]

This is just the AI grift and uneducated hypebros. There is zero reason to use an LLM as a classifier. But AIbros with zero technical knowledge will push for it anyways even if it is 1000x slower and 1000x more expensive to run.

▲wodenokoto 4 hours ago | parent | next [-]

You can can't build an SVM-classifier for a ticketing system without domain data. You can ask an LLM to do it, and it will do it very well.

With the LLM you don't even need a data scientist to train the model, you just need someone who can connect to APIs. And the LLM is fine with adding and removing categories. No retraining.

It makes the initial faces incredibly fast. Then it is slow and expensive to run, so once the system settles, it becomes the target for model optimization, e.g, a dedicated, or semi-dedicated model.

▲Karrot_Kream 2 hours ago | parent [-]

I mean just have a coding agent do the whole process from start to finish. Tell it you want to seed an SVM from LLM runs on ticket data. I can bet that it'll do it all for you without much input from you at all.

▲vidarh 3 hours ago | parent | prev | next [-]

I can spin up a classification solution with an LLM in ca. 5 minutes that is likely to do an okay job. To build a custom classifier, I need lots of training data first.

That is the reason.

Once you then have a system that is used enough, it starts making sense to look to replace that with a leaner classifier, but LLMs have a place in vast number of places where we'd previously never use a classifier because it was too much effort.

▲darkwater 3 hours ago | parent [-]

> but LLMs have a place in vast number of places where we'd previously never use a classifier because it was too much effort.

Absolutely! But that doesn't rule out that there are AIbros that will tell you to use an LLM, even if the task could be done with a static analyzer with a few rules. Use an LLM because it's AI!

▲IanCal 3 hours ago | parent | prev | next [-]

There are absolutely good reasons to use smarter things for classification. Svm with tdf idf for example is super fast but will make very bad classifications at times in ways entirely unfixable with that system (thinking back to bats being an acronym for a theology degree classification or similar)

▲NitpickLawyer 3 hours ago | parent | prev | next [-]

This is a bit too radical and misses some nuance. In order to start building classifiers you at least need some ML domain knowledge, like what to google at least. Meanwhile, point anyone at the jev/open-jev-clones API and have them start classifying in <10 minutes. There's some value there. (same used to be valid for LLMs before jev became a thing. You can use llms as zero-shot classifiers with the right API wrapper, w/ no domain data).

▲cryptonym 2 hours ago | parent | prev [-]

1000x more expensive run can be overall cheaper. You avoid upfront training/tuning cost. It all depends on your scale.

▲elvircrn 2 hours ago | parent | prev | next [-]

Svaka cast :)

▲chaostheory 4 hours ago | parent | prev | next [-]

The tech industry is not that far off from the fashion industry

▲skwon816 6 minutes ago | parent | prev [-]

[flagged]