• 0 Posts
  • 17 Comments
Joined 1 year ago
cake
Cake day: June 21st, 2023

help-circle
  • I don’t know if people have just gotten meaner over time or if that is how it has always been, but there are a lot of people who are very unpleasant to interact with, both on and off the internet. It can be stressful trying to interact with new people because it’s a dice roll on whether they’re friendly or condescending.

    Anyway, just my observation. I don’t know if that has anything to do with social media, but it wouldn’t surprise me I guess.


  • I’ve seen this in a few places on desktop, and I have no clue why it’s even a feature. I’m not aware of anyone using it anywhere (although to be fair I haven’t thought to ask).

    As for why it’s enabled by default, probably for visibility. The easiest way to get people to use a feature is to make them use it and make them explicitly disable it (if even an option). For AI training, they could theoretically just capture typing data and messages regardless of if the feature is enabled/disabled anyway.


  • GPT, at least from my limited understanding, is a tool designed to continue the input. You feed it a sequence of tokens, it returns a tokens which it “believes” come next. While your impression is valid, it’s still a “completion engine”. ChatGPT and other products use GPT but have built a product around it. They are not simply frontends for GPT - they do a lot more processing than that.

    Also, not trying to understate your impression. It’s pretty impressive how good it is, despite the compute needed for it. I would caution against overestimating its responses though. It does not “reason”, “think”, etc. Its purpose is to continue a sequence of tokens following a (super complex) pattern it has been trained on (super basically). When it claims to reason something, it’s because the people it trained off of did reason it.


  • My favorite tests are the ones I don’t need to remember to write. I haven’t needed to write a test for what happens when a function receives null in a while thanks to TS/mypy/C#'s nullable reference types/Rust’s Option/etc. Similarly, I generally don’t need to write tests for functions receiving the wrong type of values (strings vs numbers, for example), and with Rust, I generally don’t even need to write tests for things like thread safety and sometimes even invalid states (since usually valid states can be represented by enum variants, and it’s often impossible to have an invalid state because of that).

    There is a point where it becomes too much, though. While I’d like it if the compiler ensured arbitrary preconditions like “x will always be between 2 and 4”, I can’t imagine what kinds of constraints that’d impose on actually writing the code in order to enforce that. Rust does have NonZero* types, but those are checked at runtime, not compile time.






  • Man there have been hot take after hot take in the programming communities over the past few days. Here, I’ll give my hot take since nobody asked:

    If I have to touch your code and I can’t tell what inputs it’s supposed to accept, what it should do with those inputs, and what outputs it should produce, I’m probably deleting your code and rewriting it from scratch. Same goes for if I can trivially produce inputs or states that break it. If your code is buggy, it’s getting fixed, even if that takes a rewrite.

    When working with others, write readable and maintainable code that someone with much less context than you can pick up and work on. It really doesn’t matter if you need to use TypeScript, mypy, tabs, doc comments, or whatever to do it.

    When doing your own project, it doesn’t matter. It’s your code, and if you can’t understand it when you come back to it then you’ll probably rewrite it into something better anyway.




  • OK, sure, we probably don’t disagree then.

    We probably don’t here, but like I said I’m not really interested in discussing the political feasibility of it.

    I am obviously NOT arguing that every resource should be public. This discussion is about AI, which was publicly funded, trained on public data, and is backed by public research. This sleight of hand to make my position sound extreme is, frankly, intellectually dishonest.

    I don’t think I ever disagreed that the models themselves should be public, and there are already many publicly available models (although it would be nice if GPT-N were). What I disagree with is the service being free. The service costs a company real money and resources to maintain, just like any other service. If it were free, the only entity that could reasonably run the models is the government, but at this point we might as well also have the government run public git servers, public package registries, etc. Honestly, I’m not sure what impression you expected me to get, considering the claim that a privately run service using privately paid-for resources should be free to the public.

    There’s a shortage, but it’s not “extreme”. ChatGPT is running fine. I can use it anytime I want instantly. You’d be laughed out of the room if you told AI researchers that ChatGPT can’t scale because we’re running out of GPUS.

    Actually no, I work directly with AI researchers who regularly use LLMs and this is the exact impression I got from them.


  • Finally, there are positive economic externalities to public AI availability.

    There are positive economic externalities to public everything availability. We don’t live in this kind of world though, someone will always try to claim a larger share due to human nature. That being said, I’m not really interested in arguing about the political feasibility (or lack thereof) of having every resource being public.

    With how many people are already using AI, it’s frankly mind boggling that they’re only losing $700k a day.

    There are significant throttles in place for people who are using LLMs (at least GPT-based ones), and there’s also a cost people pay to use these LLMs. Sure you can go use ChatGPT for free, but the APIs cost real money, they aren’t free to use. What you’re seeing is the money they lost after all the money they made as well.

    You’re also ignoring the fact that costs don’t scale proportionally with usage. Infrastructure and labor can be amortized over a greater user base. And these services will get cheaper to run per capita as time goes on and technology improves.

    I don’t disagree that the services will get cheaper and that costs don’t scale proportionally. You’re most likely right - generally speaking, that’s the case. What you’re missing though is that there is an extreme shortage of components. Scaling in this manner only works if you actually have the means to scale. As things stand, companies are struggling to get their hands on the GPUs needed for inference.



  • If you look at how much they spend per day (poster quoted $700,000 daily but said unverified), how would it make any sense to provide the service for free? I won’t argue for/against releasing the model to the public, since honestly that argument can go both ways and I don’t think it would make much of a difference anyway except benefit their competitors (other massive companies).

    However, let’s assume they did release it publicly, what use would that be for the smaller business/individual? Running these models takes some heavy and very expensive hardware. It’s not like buying a rack and building a computer, these models are huge. Realistically, they can’t provide that as a free service, they’d fail as a company almost immediately. Most businesses can’t afford to run these models themselves, the upfront and maintenance costs would obliterate them. Providing it as a service like they have been means they recoup some of the cost of running the models, while users can actually afford to use these models without needing to maintain the hardware themselves.



  • There are a few resources out there, but a good starting place is the book. There’s also Rust by example which has example snippets for doing various tasks.

    Also, keep in mind that Rust is a very different language from C, C++, and Python. It’s going to be hard to learn it if you try to treat the higher level concepts (structs, enums, traits, etc) like how other languages you know work. Take your time, it takes most people a lot longer to learn Rust than to learn most other traditional languages.