I expect my "AI" engineers to know both RAG and what KL-divergences are. If you only know the former, you are just a backend developer, not a ML engineer.
There are plans to add namespaces AFIK, they are just quite early stage.
Through for a long time (part of rust developers) haven't been very happy with the idea. a stuff like `abcde/bar` vs. `abcbe/bar` are a total pain. But there where two points which pushed things in the direction of having them. 1) Differentiating between 1st and 3rd party extensions of a project (e.g. is actix-XXXX "blessed" by actix or not) 2) companies want this for a bunch of reasons.
- cache the prompting somehow, unless you are doing dynamic stuff with the prompts, the language embeddings generated should be static (this depends on the architecture of the model that you are using, it's only possible with certain setups where the language processing is a separate part in the pipeline)
- consider fine-tuning an img to img model with your current outputs instead of using a language-coupled model. My intuition is that this is currently significantly over-engineered on the ML side.
- Play around with local hardware acceleration instead of sending everything to the cloud, you also probably don't need particularly high resolution for the images either.
IDK, it could mean it's not if/else structured computer code. The idea that you can't guarantee consistent results under small variation is a big deal to non technical people who are buying ML applications
Really depends on how good ROCm support for WSL2 is. Our team don't have a windows machine so could not verify ourselves, but if you got ROCm set up properly on WSL2, MLC LLM should work out of the box
> The government has power. Craig the office drone asking for "misinformation" to be taken down at behest of his boss does not have the power "The government" does.
Or am I now supposed to believe that if you anger Sheila at the DMV the IRS will audit you?
Craig's boss is the highest executive power in the country. Most of their work is handled by aides and subordinates like Craig, with authority delegated from their office. The boss only directly makes the important decisions. You are being disingenuous by claiming Craig is a innocent, powerless trigger-happy drone. And if you have lived in small towns, expect to receive worse service or discrimination from Sheila in future. The highest power in the country cannot be held to the same standard as a county clerk (and frankly speaking, most DMV employees need more training in customer service and have their compensation tied to overall productivity and performance, lots of fat to be trimmed there, both literal and metaphorical).
The issue is that many things ultimately still require rote learning. Most STEM subjects cannot avoid it unless you are genuinely talented and mathematically inclined. You can appreciate Newton's laws in classical mechanics as much as you want but you still need practice if you want to apply the kinematics and force equations in any reasonable amount of time during an exam. Same with Hamiltonians and Lagrangians. The further you go, the more intuition requires rote learning to build up. (I would note however that rote learning doesn't necessarily impart any mathematical maturity, but it does help with achieving conceptual understanding of the problem. Solve enough differentiation problems on pen and paper and gradient descent and backpropagation become obvious, but proving epsilon deltas won't necessarily be as helpful.)
> You can appreciate Newton's laws in classical mechanics as much as you want but you still need practice if you want to apply the kinematics and force equations in any reasonable amount of time during an exam. Same with Hamiltonians and Lagrangians.
As a general rule there is exactly zero of any of this for the overwhelming vast majority of primary school children in their first 7 years of formal education in either Australia or New Zealand.
We got the same, mention of the stationary-action principle and application of Newtonian, Lagrangian and Hamiltonian equations of motion came some time after sporting milk moustaches in primary school.
Because so long Bloom's 2 sigma observation holds, pedagogy only matters at scale. In other words, it mostly affect the lower middle class and poor people. Good education systems can ensure that most people get educated. The elites and upper middle class are more than capable of giving their children an excellent education anywhere. Working class parents don't have time to babysit every single homework problem or to fix every gap and flaw in the school's syllabus by themselves.
Why not use Go? They have one of the best networking stacks among language standard libraries, excellent support for low latency soft real-time concurrent operations, and single binary deployment is trivial.
For me personally (not OP): I find Elixir more ergonomic, the networking stuff is very solid, soft realtime is the whole reason it exists, and I don't need single binary deployment because everything is going to be running in a container in AWS anyway. Elixir also has Releases, which let you deploy a self-contained application more easily. But I think Go might let you cross-compile out of the box, which you can't do with Releases out of the box as far as I know.
Yes, I'm aware. I've been programming in Elixir since 2014. I didn't intend to imply that being third-party means these are bad tools, they're not. They're great. But Go people often harp about how much stuff is in the standard library, so it felt relevant to mention.
go is great at a lot of things but if you want a multi clustered websocket solution, elixir is the absolute best in this category.
go has go threads. elixir has the actors, futures, message passing, immutable data structures and the OTP platform. OTP is killer and gives you genservers with pubsub and the ability to have thousands of tiny stateful processors PER machine.
Its all battle tested too.
comparing go to elixir in this particular case is like comparing a piper cub to a jet liner
source: 5 years of experience building an elixir startup with realtime sync between devices over websockets as a killer feature.
> the ability to have thousands of tiny stateful processors PER machine
Go has this too. It also has message passing (via channels). That's not to deny that Elixir/Erlang have a more developed story for IPC, process supervision and clustering.
Go is an ugly language and I don't enjoy working in it for that reason alone.
Outside of that, I also don't like the language design for a lot of its features.
Though, admittedly, the goroutines part is not one of those choices I dislike. But the error handling pattern, generics and a few other things are super meh to me.
And everything Go does with networking and concurrency, Elixir does better.
Elixir just doesn't have the backing of a big name like Google so it doesn't have the same popularity.
Elixir has releases, so deployment is not really that hard whether or not you use containers.
And the beam networking stack is quite good, which is unsurprising given it's been in slowly evolving use for 30 years now.
In go you just don't get stuff like "trivially cleaning up associated resources with zero lines of code when your socket gets early terminated by the client or a backhoe cuts the network in to the data center"
The best language for the task at hand, when presented with time constraints, is the one that you already know well. OP said in the article that they authored Papercups [1]. Adopting Elixir for a websocket-push service makes a lot of sense, then. However, why don't you learn Elixir, some OTP, and then reconsider that question? You could be missing out.
golang is pretty rudimentary versus the BEAM and OTP. It is hard to compare erlang/elixir to a traditional language. They benefit from the fact that you can run literally hundreds of thousands of processes on a single node all doing their own independent thing and managing their own state.
Bad explanation from a noob (me), but basically yes. Functions just always fit together and I don't need ugly sprawling interfaces or pointless declarations of nearly identical functions.
In Elixir when I want to pass a function with 3 arguments into an interface that expects 4, I can do something inline with no extra boilerplate like func(&1, &2, &3, <a default 4th value to be used in each invocation>)
Not your parent commenter but likely they at least partially meant that, yes.
Though that alone can't reduce LoC by 90%. Elixir is just incredibly terse and no-bullshit language in general. All the shorter code idioms together make for a readable and to-the-point code.