• 1 Post
  • 398 Comments
Joined 2 years ago
cake
Cake day: March 22nd, 2024

help-circle



  • Encoder-decoder language models and all sorts of stuff were used for translation and spellcheck, long before “LLM” was in anyone’s vocabulary. Embeddings models were used in documentation searches, in IDEs, and other places. Whenever you used any search engine, pre Sam Altman, you were likely hitting text models too.

    They worked alright.

    It was not an issue. No one hated them; they are simple tools with a specific function.

    I think people need to be careful of spilling (quite reasonable) hate of Tech Bro AI into the wider, older field of machine learning. In spite of the effort to conflate them, they aren’t the same thing.


  • I think this is what “want an EV, research it heavily” folks tend to end up with, where Teslas leans more “want an EV, don’t research it quite as heavily” crowd.

    Not that either brand makes bad cars.

    I just mean the Hyundai/Kia EVs are less “sexy” on the surface. Their charge and range is lower, but if you look into it, it’s an engineering compromise for faster charging. Hyundai isn’t a very “glamorous” brand, but their recent cars have been excellent, and if you actually look into Tesla, well… gestures at X. Lower end Teslas are priced somewhat attractively and tend to have better resale value than Hyundai at the moment, and it’s quite rational to assume “well, they’ve been making EVs longer.” But if you research it, Teslas have a more hidden costs over time, and even though some systems like the heatpumps are less refined than Teslas, Hyundai engineered the heck out of the car.





  • JXL is working alright for me.

    As an example with a lot of dynamic range, here’s a JXL:

    JXL image should be here

    AVIF:

    AVIF image should be here

    Both render in my desktop and iPhone browsers, just fine. I bet at least one renders for you. And I made them from RAWs from a really old camera!

    The problem is, as you say… arbitrary lack of support. As an example, I can’t upload either file to Lemmy. Brand new social media software, and it doesnt’ recognize JXL or AVIF as valid image types, even though they should render just fine? Most image hosts wont take JXL either, hence I had to upload them to litterbox since catbox is down!

    An HEIF, on the other hand, has basically 0 support outside of Apple:

    HIF Image should be here

    All three of these render correctly on my phone, but only the top two do on other devices.


  • All the HEIC files from my camera are still busted.

    To be fair, its a tricky issue. Its camera makers’ fault for using a format no one else wants to touch, and rendering them as HDR files instead of SDR with gain maps, as is standard practice for smartphones.

    …But still, its annoying. They render fine on my iPhone, on Windows, or KDE Linux, out of the box. But they’re completely garbled in Immich :(




  • Because, with a cursory glance, it doesn’t always look like spam.

    A classic example I see starts with “I built a…” in the title, has a wall of text in the description, and actually promises to do something interesting. Only upon deeply inspecting the code (or trying it yourself)… it becomes clear it’s hallucinated nonsense.

    And it’s not always malicious, either. A lot of devs get deep in AI psychosis and truly believe they’ve building something revolutionary with their vibe coding agent.

    And sometimes these projects are interesting!


    Hence it would be EXTREMELY helpful to have this tagged, up front. To me, an [AIP] is gigantic red flag to warrant extra caution, but not necessarily a smoking gun, and would help “regular” homebuilt projects stand out from the vibecoded ones.

    And [AIT] is just nice to have. Some users don’t want to see any AI in /c/selfhosted, period. Hence AI discussion posts get reported as spam because people interpret it as spam, and this would clarify that nebulous distinction, while giving those users a way to easily filter AI posts out.




  • Failure to provide a disclosure after using the tag would mean removing the post. It could be locked, but I would have to assume the majority of the spam-type postings that happened to make it past the rule 7 criteria are the ones who will not provide the requested disclosure. I think it makes for a good filter this way, but please comment if you think otherwise.

    Sounds reasonable to me!

    I think the major choice is for y’all (the mod team), as enforcing a tagging system is going to increase the moderation workload. Though I guess it would cut back on AI reports, like you said.

    I have no recommendations for an existing bot.


    …You could use an embeddings model for a little extra automation though.

    This is a pre-LLM thing, but basically you could feed a script new untagged posts, use a embeddings model to compare the text of their bodies to a keyword (“AI”?), and spit out a number as a rough “similarity” metric. If it’s above a certain threshold (eg if the post seems AI related), send a message to the moderation team to check it, or maybe even post a rules reminder in the comments.

    And FYI, embeddings models are tiny, so it doesn’t need special resources to run or anything.


  • brucethemoose@lemmy.worldtoSelfhosted@lemmy.worldSelfhosted & AI
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    18 days ago

    They 100% do. They’re probably serving “naive” FP8 via VLLM, which is worse than you’d think, especially if they flip on the awful FP8 KV cache.


    In a local quant, you can stop quantized models from falling apart at higher CTX by leaving the attention heads at a higher quantization. As an example, with MiMo 2.5, I have all the MoE MLP layers at IQ3_KT, the dense experts at Q6K, but all the attention layers at Q8_0.

    For Qwen 27B, I’m still experimenting, but leaning towards IQ4_KT for the MLPs, Q6K for attention, and Q8_0 for the small, very sensitive KV heads. Or a similar scheme as an exl3 quant.


    That being said, sometimes even unquantized models fall apart in certain long context scenarios because the max advertised context is a lie. You just have to test them and see, but Qwen has certainly done this in the past.



  • brucethemoose@lemmy.worldtoSelfhosted@lemmy.worldSelfhosted & AI
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    18 days ago

    It’s drops off, but not as much as you’d think.

    MiMo uses 5:1 SWA, so its long-context compute doesn’t increase as catastrophically as older models. That, and most of the “slowness” comes from the MoE layers being on CPU (whereas the attention layers that get heavier at high context are all on the 3090).

    That’s the beauty of these MoEs: they’re just the right size for the “compute-lite” parts to stay in CPU RAM.

    I will measure it tomorrow. It is a constant ~9-10TPS for short queries, but definitely slower near my current max context of 85K.


    And do you mean prompt compaction? I don’t automate that; when I use that particular model, I tend to use it in Mikupad, aka “raw” notepad mode, and manipulate the context directly. This is so I can do things like chop out conversations, pick different tokens from the logprobs, or edit its own replies/thinking and continue mid reply.

    I like manually handling this because, being a local model, prompts are cached. Streaming starts quickly if most of the prompt stays cached, which is actually a really nice advantage over APIs.