Skip to content

How is that For Flexibility?


As everybody is aware, the world is still going nuts trying to develop more, newer and much better AI tools. Mainly by tossing ridiculous amounts of money at the issue. Much of those billions go towards building cheap or free services that operate at a considerable loss. The tech giants that run them all are hoping to draw in as lots of users as possible, so that they can capture the market, and become the dominant or only celebration that can offer them. It is the classic Silicon Valley playbook. Once supremacy is reached, expect the enshittification to start.

A likely way to earn back all that money for developing these LLMs will be by tweaking their outputs to the liking of whoever pays one of the most. An example of what that such tweaking looks like is the refusal of DeepSeek's R1 to discuss what occurred at Tiananmen Square in 1989. That a person is certainly politically inspired, however ad-funded services won't precisely be enjoyable either. In the future, I fully expect to be able to have a frank and honest conversation about the Tiananmen occasions with an American AI agent, however the only one I can pay for will have presumed the personality of Father Christmas who, while holding a can of Coca-Cola, will intersperse the stating of the terrible events with a happy "Ho ho ho ... Didn't you understand? The holidays are coming!"

Or perhaps that is too improbable. Today, dispite all that money, the most popular service for code completion still has problem working with a couple of simple words, despite them being present in every dictionary. There should be a bug in the "totally free speech", or something.

But there is hope. Among the techniques of an upcoming gamer to shock the market, is to damage the incumbents by releasing their design free of charge, under a liberal license. This is what DeepSeek simply finished with their DeepSeek-R1. Google did it earlier with the Gemma designs, as did Meta with Llama. We can download these designs ourselves and run them on our own hardware. Even better, individuals can take these designs and scrub the biases from them. And we can download those scrubbed designs and run those on our own hardware. And after that we can finally have some genuinely helpful LLMs.

That hardware can be a difficulty, however. There are two options to pick from if you wish to run an LLM in your area. You can get a huge, powerful video card from Nvidia, or you can buy an Apple. Either is costly. The main spec that shows how well an LLM will perform is the amount of memory available. VRAM in the case of GPU's, regular RAM in the case of Apples. Bigger is better here. More RAM means larger models, which will significantly enhance the quality of the output. Personally, I 'd state one requires a minimum of over 24GB to be able to run anything beneficial. That will fit a 32 billion criterion model with a little headroom to spare. Building, or buying, a workstation that is equipped to handle that can easily cost thousands of euros.

So what to do, if you don't have that quantity of cash to spare? You buy pre-owned! This is a feasible option, but as always, there is no such thing as a free lunch. Memory might be the main concern, but don't underestimate the value of memory bandwidth and other specs. Older equipment will have lower efficiency on those aspects. But let's not worry excessive about that now. I have an interest in building something that at least can run the LLMs in a functional method. Sure, the most recent Nvidia card may do it faster, however the point is to be able to do it at all. Powerful online designs can be great, however one need to at the very least have the alternative to switch to a regional one, if the situation requires it.

Below is my attempt to build such a capable AI computer system without investing excessive. I wound 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 new dummy GPU (see below), or I could have found someone that would 3D print the cooling fan shroud for me, instead of delivering a ready-made one from a faraway country. I'll admit, I got a bit impatient at the end when I discovered I needed to purchase yet another part to make this work. For me, this was an appropriate tradeoff.

Hardware

This is the complete breakdown:

And this is what it appeared like when it initially booted with all the parts set up:

I'll provide some context on the parts listed below, and after that, I'll run a few fast tests to get some numbers on the efficiency.

HP Z440 Workstation

The Z440 was a simple pick since I currently owned it. This was the beginning point. About two years ago, I wanted a computer that might serve as a host for my virtual makers. 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 need to work for hosting VMs. I bought it previously owned and then switched the 512GB hard disk drive for a 6TB one to save those virtual makers. 6TB is not required for running LLMs, and for that reason I did not include it in the breakdown. But if you plan to gather many designs, 512GB might not be enough.

I have actually pertained to like this workstation. It feels all really strong, and I haven't had any issues with it. At least, till I started this job. It turns out that HP does not like competitors, and I encountered some troubles when swapping components.

2 x NVIDIA Tesla P40

This is the magic ingredient. GPUs are pricey. But, just like the HP Z440, often one can find older devices, that used to be top of the line and is still very capable, pre-owned, for fairly little money. These Teslas were meant to run in server farms, for things like 3D making and other graphic processing. They come equipped with 24GB of VRAM. Nice. They fit in a PCI-Express 3.0 x16 slot. The Z440 has 2 of those, so we purchase two. Now we have 48GB of VRAM. Double great.

The catch is the part about that they were implied for servers. They will work great in the PCIe slots of a regular workstation, however in servers the cooling is handled in a different way. Beefy GPUs take in a great deal of power and can run extremely hot. That is the factor customer GPUs always come equipped with big fans. The cards need to take care of their own cooling. The Teslas, nevertheless, have no fans whatsoever. They get just as hot, however expect the server to provide a steady flow of air to cool them. The enclosure of the card is somewhat shaped like a pipeline, and you have 2 choices: blow in air from one side or blow it in from the opposite. How is that for versatility? You absolutely must blow some air into it, however, or you will damage it as quickly as you put it to work.

The option is basic: just mount a fan on one end of the pipe. And certainly, it seems a whole cottage market has grown of individuals that offer 3D-printed shrouds that hold a standard 60mm fan in just the right location. The issue is, the cards themselves are currently quite large, and it is challenging to find a setup that fits 2 cards and two fan installs in the computer system case. The seller who offered me my 2 Teslas was kind adequate to consist of two fans with shrouds, however there was no chance 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 annoying. The HP Z440 had a 700 Watt PSU, which might have been enough. But I wasn't sure, and I needed to buy a new PSU anyway because it did not have the ideal ports to power the Teslas. Using this useful website, I deduced that 850 Watt would be adequate, and I purchased the NZXT C850. It is a modular PSU, suggesting that you only require to plug in the cable televisions that you really require. It included a cool bag to store the spare cables. One day, I might give it an excellent cleaning and utilize it as a toiletry bag.

Unfortunately, HP does not like things that are not HP, so they made it difficult to switch the PSU. It does not fit physically, and they likewise altered the main board and CPU ports. All PSU's I have 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 typical PSUs will fit. For no technical factor at all. This is simply to tinker you.

The installing was eventually solved by utilizing two random holes in the grill that I in some way handled to align with the screw holes on the NZXT. It sort of hangs steady now, and I feel fortunate that this worked. I have seen Youtube videos where individuals resorted to double-sided tape.

The port required ... another purchase.

Not cool HP.

Gainward GT 1030

There is another issue with utilizing 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 monitor to. The BIOS of the HP Z440 does not like this. It declines to boot if there is no chance to output a video signal. This computer will run headless, but we have no other choice. We have to get a 3rd video card, that we don't to intent to utilize ever, simply to keep the BIOS pleased.

This can be the most scrappy card that you can discover, obviously, but there is a requirement: we must make it fit on the main board. The Teslas are large and fill the two 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 imply. One can not buy any x8 card, however, because frequently even when a GPU is marketed as x8, the real adapter on it might be just as broad as an x16. Electronically it is an x8, physically it is an x16. That won't deal with this main board, we truly require the small adapter.

Nvidia Tesla Cooling Fan Kit

As said, the difficulty is to discover a fan shroud that suits the case. After some searching, I found this kit on Ebay a purchased two of them. They came delivered total with a 40mm fan, and all of it fits completely.

Be cautioned that they make a terrible lot of noise. You do not want to keep a computer with these fans under your desk.

To keep an eye on the temperature, I worked up this quick 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 added a graph to the dashboard that displays the values gradually:

As one can see, setiathome.berkeley.edu the fans were noisy, but not particularly efficient. 90 degrees is far too hot. I searched the internet for a reasonable ceiling but might not discover anything particular. The documents on the Nvidia site mentions a temperature level of 47 degrees Celsius. But, what they indicate by that is the temperature level of the ambient air surrounding the GPU, not the measured value on the chip. You understand, the number that actually is reported. Thanks, Nvidia. That was practical.

After some additional browsing and reading the opinions of my fellow internet citizens, my guess is that things will be great, supplied that we keep it in the lower 70s. But don't quote me on that.

My first attempt to correct the circumstance was by setting an optimum to the power usage of the GPUs. According to this Reddit thread, one can lower the power usage of the cards by 45% at the expense of just 15% of the performance. I tried it and ... did not notice any distinction at all. I wasn't sure about the drop in efficiency, having only a couple of minutes of experience with this setup at that point, however the temperature level qualities were certainly unchanged.

And after that a light bulb flashed on in my head. You see, right before the GPU fans, there is a fan in the HP Z440 case. In the image above, it remains in the right corner, inside the black box. This is a fan that sucks 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 system did not require any cooling. Checking out the BIOS, I found a setting for the minimum idle speed of the case fans. It varied from 0 to 6 stars and was presently set to 0. Putting it at a greater setting did wonders for the temperature level. It also made more sound.

I'll hesitantly admit that the third video card was practical when adjusting the BIOS setting.

MODDIY Main Power Adaptor Cable and Akasa Multifan Adaptor

Fortunately, sometimes things simply work. These two products were plug and play. The MODDIY adaptor cable television linked the PSU to the main board and CPU power sockets.

I used the Akasa to power the GPU fans from a 4-pin Molex. It has the great function that it can power two fans with 12V and 2 with 5V. The latter certainly reduces the speed and hence the cooling power of the fan. But it likewise reduces sound. Fiddling a bit with this and the case fan setting, I found an appropriate tradeoff between noise and temperature level. For now at least. Maybe I will require to revisit this in the summertime.

Some numbers

Inference speed. I gathered these numbers by running ollama with the-- verbose flag and asking it five times to write a story and balancing the outcome:

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 essential finding: Terry is without a doubt the most popular name for a tortoise, followed by Turbo and Toby. Harry is a favorite for hares. All LLMs are loving alliteration.

Power usage

Over the days I kept an eye on the power usage 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, but consumes more power. My current setup is to have actually two designs packed, one for coding, the other for generic text processing, and keep them on the GPU for as much as an hour after last usage.

After all that, am I happy that I began this task? Yes, I think I am.

I spent a bit more money than prepared, but I got what I desired: a way of locally running medium-sized designs, entirely under my own control.

It was a good option to start with the workstation I already owned, and see how far I might come with that. If I had actually started with a brand-new device from scratch, it certainly would have cost me more. It would have taken me much longer too, as there would have been much more choices to select from. I would likewise have actually been really lured to follow the hype and purchase the current and greatest of everything. New and glossy toys are enjoyable. But if I purchase something new, I desire it to last for years. Confidently predicting where AI will enter 5 years time is impossible today, so having a more affordable maker, that will last at least some while, feels acceptable to me.

I want you all the best by yourself AI journey. I'll report back if I discover something new or intriguing.