• 3 Posts
  • 96 Comments
Joined 1 year ago
cake
Cake day: June 1st, 2023

help-circle











  • Yeah, you should be scrubbing weekly or monthly, depending on how often you are using the data. Scrub basically touches each file and checks the checksums and fixes any errors it finds proactively. Basically preventative maintenance.
    https://manpages.ubuntu.com/manpages/jammy/man8/zpool-scrub.8.html

    Set that up in a cron job and check zpool status periodically.

    No dedup is good. LZ4 compression is good. RAM to disk ratio is generous.

    Check your disk’s sector size and vdev ashift. On modern multi-TB HDDs you generally have a block size of 4k and want ashift=12. This being set improperly can lead to massive write amplification which will hurt throughput.
    https://www.high-availability.com/docs/ZFS-Tuning-Guide/

    How about snapshots? Do you have a bunch of old ones? I highly recommend setting up a snapshot manager to prune snapshots to just a working set (monthly keep 1-2, weekly keep 4, daily keep 6 etc) https://github.com/jimsalterjrs/sanoid

    And to parrot another insightful comment, I also recommend checking the disk health with SMART tests. In ZFS as a drive begins to fail the pool will get much slower as it constantly repairs the errors.


  • ZFS is a very robust choice for a NAS. Many people, myself included, as well as hundreds of businesses across the globe, have used ZFS at scale for over a decade.

    Attack the problem. Check your system logs, htop, zpool status.

    When was the last time you ran a zpool scrub? Is there a scrub, or other zfs operation in progress? How many snapshots do you have? How much RAM vs disk space? Are you using ZFS deduplication? Compression?





  • Hard disagree on them being the same thing. LLMs are an entirely different beast from traditional machine learning models. The architecture and logic are worlds apart.

    Machine Learning models are "just"statistics. Powerful, yes. And with tons of useful applications, but really just statistics, generally using just 1 to 10 variables in useful models to predict a handful of other variables.

    LLMs are an entirely different thing, built using word vector matrices with hundreds or even thousands of variables, which are then fed into dozens or hundreds of layers of algorithms that each modify the matrix slightly, adding context and nudging the word vectors towards new outcomes.

    Think of it like this: a word is given a massive chain of numbers to represent both the word and the “thoughts” associated with it, like the subject, tense, location, etc. This let’s the model do math like: Budapest + Rome = Constantinople.

    The only thing they share in common is that the computer gives you new insights.


  • You’re talking about two very different technologies though, but both are confusingly called “AI” by overzealous marketing departments. The basic language recognition and regressive model algorithms they ship today are “Machine Learning”, and fairly simple machine learning at that. This is generally the kind of thing we’re running on simple CPUs in realtime, so long as the model is optimized and pre-trained. What we’re talking about here is a Large Language Model, a form of neural network, the kind of thing that generally brings datacenter GPUs to their knees and generally has hundreds of parameters being processed by tens of thousands of worker neurons in hundreds of sequential layers.

    It sounds like they’ve managed to simplify the network’s complexity and have done some tricks with caching while still keeping fair performance and accuracy. Not earth shaking, but a good trick.