As everyone is aware, the world is still going nuts trying to develop more, more recent and much better AI tools. Mainly by throwing ridiculous quantities of money at the issue. Much of those billions go towards building inexpensive or totally free services that run at a substantial loss. The tech giants that run them all are hoping to attract as numerous users as possible, so that they can record the market, and become the dominant or only party that can offer them. It is the traditional Silicon Valley playbook. Once supremacy is reached, anticipate the enshittification to begin.
A likely way to make back all that cash for developing these LLMs will be by tweaking their outputs to the taste of whoever pays the a lot of. An example of what that such tweaking appears like is the refusal of DeepSeek's R1 to discuss what occurred at Tiananmen Square in 1989. That one is certainly politically motivated, however ad-funded services won't precisely be enjoyable either. In the future, I completely expect to be able to have a frank and honest conversation about the Tiananmen events with an American AI agent, however the only one I can pay for will have assumed the personality of Father Christmas who, while holding a can of Coca-Cola, will intersperse the stating of the terrible occasions with a happy "Ho ho ho ... Didn't you understand? The holidays are coming!"
Or perhaps that is too improbable. Today, dispite all that cash, the most popular service for code completion still has difficulty working with a number of simple words, in spite of them existing in every dictionary. There should be a bug in the "free speech", or something.
But there is hope. One of the techniques of an approaching gamer to shock the marketplace, is to undercut the incumbents by releasing their model for complimentary, under a permissive license. This is what DeepSeek just made with their DeepSeek-R1. Google did it earlier with the Gemma models, as did Meta with Llama. We can download these designs ourselves and run them on our own hardware. Better yet, individuals can take these models and scrub the predispositions from them. And we can download those scrubbed models and run those on our own hardware. And after that we can finally have some genuinely beneficial LLMs.
That hardware can be an obstacle, though. There are two alternatives to pick from if you desire to run an LLM locally. You can get a huge, powerful video card from Nvidia, or you can purchase an Apple. Either is expensive. The main specification that indicates how well an LLM will carry out is the quantity of memory available. VRAM in the case of GPU's, regular RAM in the case of Apples. Bigger is much better here. More RAM means bigger designs, which will significantly enhance the quality of the output. Personally, I 'd state one needs at least over 24GB to be able to run anything beneficial. That will fit a 32 billion criterion design with a little headroom to spare. Building, or purchasing, a workstation that is geared up to manage that can quickly cost countless euros.
So what to do, if you do not have that amount of cash to spare? You buy pre-owned! This is a feasible alternative, however as constantly, there is no such thing as a complimentary lunch. Memory might be the main issue, but do not undervalue the importance of memory bandwidth and other specifications. Older equipment will have lower efficiency on those elements. But let's not stress excessive about that now. I have an interest in building something that a minimum of can run the LLMs in a usable method. Sure, the current Nvidia card may do it much faster, but the point is to be able to do it at all. Powerful online models can be nice, but one must at the minimum have the alternative to switch to a regional one, if the circumstance requires it.
Below is my effort to develop such a capable AI computer system without spending too much. I ended up with a workstation with 48GB of VRAM that cost me around 1700 euros. I could have done it for less. For example, it was not strictly required to purchase a brand name brand-new dummy GPU (see below), or I might have discovered someone that would 3D print the cooling fan shroud for me, instead of shipping a ready-made one from a faraway country. I'll confess, I got a bit impatient at the end when I found out I needed to purchase yet another part to make this work. For me, this was an acceptable tradeoff.
Hardware
This is the full expense breakdown:
And this is what it looked liked when it first booted with all the parts set up:
I'll offer some context on the parts listed below, and after that, I'll run a couple of fast tests to get some numbers on the performance.
HP Z440 Workstation
The Z440 was a simple pick because I already owned it. This was the starting point. About 2 years ago, I wanted a computer system that could work as a host for my virtual machines. The Z440 has a Xeon processor with 12 cores, and this one sports 128GB of RAM. Many threads and a great deal of memory, that ought to work for hosting VMs. I bought it secondhand and then switched the 512GB hard disk for a 6TB one to store those virtual makers. 6TB is not needed for running LLMs, and for that reason I did not include it in the breakdown. But if you prepare to gather lots of designs, 512GB might not suffice.
I have actually pertained to like this workstation. It feels all very solid, and I have not had any problems with it. At least, up until I started this project. It turns out that HP does not like competition, and I came across some problems when switching parts.
2 x NVIDIA Tesla P40
This is the magic ingredient. GPUs are costly. But, similar to the HP Z440, often one can find older equipment, that used to be leading of the line and is still very capable, second-hand, for fairly little cash. These Teslas were indicated to run in server farms, for things like 3D rendering and other graphic processing. They come equipped with 24GB of VRAM. Nice. They suit a PCI-Express 3.0 x16 slot. The Z440 has 2 of those, so we buy two. Now we have 48GB of VRAM. Double great.
The catch is the part about that they were suggested for servers. They will work fine in the PCIe slots of a normal workstation, however in servers the cooling is managed in a different way. Beefy GPUs take in a lot of power and can run extremely hot. That is the factor consumer GPUs always come equipped with big fans. The cards require to look after their own cooling. The Teslas, nevertheless, have no fans whatsoever. They get just as hot, but anticipate the server to provide a steady circulation of air to cool them. The enclosure of the card is rather formed like a pipe, and you have two alternatives: blow in air from one side or blow it in from the other side. How is that for versatility? You definitely need to blow some air into it, however, or you will harm it as soon as you put it to work.
The solution is basic: just mount a fan on one end of the pipeline. And certainly, it appears a whole cottage market has actually grown of people that sell 3D-printed shrouds that hold a standard 60mm fan in simply the best place. The issue is, the cards themselves are already quite large, and it is not easy to find a setup that fits two cards and two fan mounts in the computer system case. The seller who sold me my 2 Teslas was kind enough to include two fans with shrouds, however there was no method I could fit all of those into the case. So what do we do? We purchase more parts.
NZXT C850 Gold
This is where things got frustrating. The HP Z440 had a 700 Watt PSU, which may have been enough. But I wasn't sure, and I needed to buy a brand-new PSU anyway because it did not have the right ports to power the Teslas. Using this helpful site, I deduced that 850 Watt would suffice, and I bought the NZXT C850. It is a modular PSU, indicating that you just need to plug in the cables that you in fact need. It featured a cool bag to store the extra cables. One day, I might give it a good cleaning and utilize it as a toiletry bag.
Unfortunately, HP does not like things that are not HP, so they made it difficult to swap the PSU. It does not fit physically, and they likewise altered the main board and CPU ports. All PSU's I have actually ever seen in my life are rectangular boxes. The HP PSU also is a rectangular box, but with a cutout, making certain that none of the normal PSUs will fit. For no technical factor at all. This is simply to mess with you.
The installing was eventually solved by utilizing two random holes in the grill that I somehow handled to align with the screw holes on the NZXT. It sort of hangs stable now, and I feel lucky that this worked. I have actually seen Youtube videos where individuals turned to double-sided tape.
The connector required ... another purchase.
Not cool HP.
Gainward GT 1030
There is another concern with using server GPUs in this consumer workstation. The Teslas are planned to crunch numbers, not to play computer game with. Consequently, they do not have any ports to connect a display to. The BIOS of the HP Z440 does not like this. It refuses to boot if there is no chance to output a video signal. This computer will run headless, however we have no other option. We have to get a third video card, that we do not to intent to utilize ever, just to keep the BIOS delighted.
This can be the most scrappy card that you can find, obviously, however there is a requirement: we should make it fit on the main board. The Teslas are large and fill the 2 PCIe 3.0 x16 slots. The only slots left that can physically hold a card are one PCIe x4 slot and one PCIe x8 slot. See this website for some background on what those names mean. One can not purchase any x8 card, however, because typically even when a GPU is marketed as x8, the actual port on it may be simply as broad as an x16. it is an x8, physically it is an x16. That won't deal with this main board, we truly require the little adapter.
Nvidia Tesla Cooling Fan Kit
As said, the obstacle is to discover a fan shroud that fits in the case. After some searching, I found this package on Ebay a bought two of them. They came provided complete with a 40mm fan, and it all fits completely.
Be cautioned that they make a dreadful lot of sound. You do not wish to keep a computer with these fans under your desk.
To watch on the temperature level, I whipped up this fast script and put it in a cron task. It periodically reads out the temperature level on the GPUs and sends out that to my Homeassistant server:
In Homeassistant I included a chart to the control panel that displays the values gradually:
As one can see, the fans were loud, but not especially efficient. 90 degrees is far too hot. I searched the internet for a sensible ceiling however might not find anything particular. The paperwork on the Nvidia website points out a temperature of 47 degrees Celsius. But, what they imply by that is the temperature level of the ambient air surrounding the GPU, not the determined worth on the chip. You understand, the number that really is reported. Thanks, Nvidia. That was valuable.
After some additional browsing and reading the viewpoints of my fellow web citizens, my guess is that things will be great, supplied that we keep it in the lower 70s. But do not quote me on that.
My very first attempt to remedy the scenario was by setting a maximum to the power consumption of the GPUs. According to this Reddit thread, one can decrease the power usage of the cards by 45% at the expense of just 15% of the performance. I tried it and ... did not observe any distinction at all. I wasn't sure about the drop in performance, having just a couple of minutes of experience with this configuration at that point, but the temperature attributes were certainly unchanged.
And after that a light bulb flashed on in my head. You see, simply before the GPU fans, there is a fan in the HP Z440 case. In the photo above, it remains in the ideal corner, inside the black box. This is a fan that draws air into the case, and I figured this would operate in tandem with the GPU fans that blow air into the Teslas. But this case fan was not spinning at all, because the remainder of the computer did not need any cooling. Looking into the BIOS, I found a setting for the minimum idle speed of the case fans. It ranged from 0 to 6 stars and was currently set to 0. Putting it at a higher setting did wonders for the temperature. It also made more sound.
I'll reluctantly admit that the 3rd video card was practical when adjusting the BIOS setting.
MODDIY Main Power Adaptor Cable and Akasa Multifan Adaptor
Fortunately, in some cases things just work. These 2 products were plug and play. The MODDIY adaptor cable television linked the PSU to the main board and CPU power sockets.
I utilized the Akasa to power the GPU fans from a 4-pin Molex. It has the good function that it can power two fans with 12V and two with 5V. The latter certainly minimizes the speed and thus the cooling power of the fan. But it also reduces sound. Fiddling a bit with this and the case fan setting, I discovered an acceptable tradeoff in between sound and temperature level. For now a minimum of. Maybe I will need to revisit this in the summertime.
Some numbers
Inference speed. I gathered these numbers by running ollama with the-- verbose flag and asking it 5 times to compose a story and balancing the result:
Performancewise, ollama is set up with:
All models have the default quantization that ollama will pull for you if you don't define anything.
Another important finding: forum.altaycoins.com Terry is by far the most popular name for a tortoise, followed by Turbo and Toby. Harry is a favorite for hares. All LLMs are loving alliteration.
Power consumption
Over the days I watched on the power consumption of the workstation:
Note that these numbers were taken with the 140W power cap active.
As one can see, there is another tradeoff to be made. Keeping the design on the card enhances latency, however takes in more power. My existing setup is to have actually two designs filled, one for coding, the other for generic text processing, and keep them on the GPU for up to an hour after last usage.
After all that, am I delighted that I began this task? Yes, I believe I am.
I invested a bit more money than prepared, however I got what I desired: a method of in your area running medium-sized models, entirely under my own control.
It was an excellent choice to begin with the workstation I already owned, and see how far I might come with that. If I had begun with a new machine from scratch, it certainly would have cost me more. It would have taken me a lot longer too, as there would have been a lot more options to pick from. I would also have been very lured to follow the buzz and purchase the most recent and greatest of everything. New and shiny toys are fun. But if I purchase something new, I desire it to last for several years. Confidently predicting where AI will enter 5 years time is difficult right now, so having a cheaper maker, that will last a minimum of some while, feels satisfactory to me.
I want you best of luck on your own AI journey. I'll report back if I find something brand-new or fascinating.
1
How is that For Flexibility?
larryc19253809 edited this page 2025-02-11 07:15:56 +01:00