← Back to context

Comment by danielmarkbruce

6 hours ago

To answer your question - we use cheaper models to just flag if something looks obviously flawed. That covers the vast majority of things because it's the propagation of obviously stupid stuff that causes a problem for our system. To the extent we are doing something sophisticated, we use an appropriate architecture, like it's built into the system.

Thanks for the response! Curious, can you expand on the architecture, how does that work? If you can share of course.

  • There are all manner of documented architectures in papers and books, I don't know that there is anything new under the sun at this point, the devil is always in the details. That said, some of the things we use off the top of my head: generate multiple responses using different models and have a third model judge the best answer; generate an answer and have another model critique the answer and then a third take the answer and critique and generate a new answer; multi-model debate; iterate in a loop either x times or until some condition is satisfied; pipelines of specific single calls to check for specific conditions.

    I'd say in general, with respect to errors/low quality responses etc you have to be extremely clear about what you are doing because once you get into the weeds, what is and is not an error is very grey in many cases.

    • Interesting. Seems to me like latency is not critical in your application and you are doing something more like background processing rather than serving humans on the other side in real time.

      Also, some of what you describe sounds expensive. Do you find these techniques + cheaper models better than single-shot with larger models?

      1 reply →