1 How is that For Flexibility?
laurindawhalen edited this page 2025-02-09 19:13:58 +01:00


As everybody is well conscious, the world is still going nuts trying to develop more, more recent and much better AI tools. Mainly by tossing ridiculous amounts of cash at the issue. A lot of those billions go towards developing cheap or free services that operate at a considerable loss. The tech giants that run them all are intending to bring in as many users as possible, so that they can capture the market, and become the dominant or only party that can use them. It is the traditional Silicon Valley playbook. Once dominance is reached, expect the enshittification to start.

A likely way to make back all that cash for establishing these LLMs will be by tweaking their outputs to the liking of whoever pays the most. An example of what that such tweaking appears like is the rejection of DeepSeek's R1 to discuss what took place at Tiananmen Square in 1989. That one is certainly politically encouraged, however ad-funded services won't precisely be fun either. In the future, I completely expect to be able to have a frank and sincere conversation about the Tiananmen events with an American AI representative, 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 sprinkle the recounting of the tragic occasions with a cheerful "Ho ho ho ... Didn't you understand? The holidays are coming!"

Or perhaps that is too improbable. Right now, dispite all that cash, the most popular service for code completion still has trouble working with a couple of easy words, regardless of them existing in every dictionary. There need to be a bug in the "totally free speech", or something.

But there is hope. Among the tricks of an upcoming player to shock the market, is to damage the incumbents by releasing their model free of charge, under a permissive license. This is what DeepSeek just did with their DeepSeek-R1. Google did it previously with the Gemma designs, as did Meta with Llama. We can download these models ourselves and run them on our own hardware. Better yet, people can take these designs 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 truly useful LLMs.

That hardware can be a difficulty, though. There are two options to select from if you wish to run an LLM in your area. You can get a huge, effective video card from Nvidia, or you can purchase an Apple. Either is expensive. The main spec that indicates how well an LLM will carry out is the quantity of memory available. VRAM when it comes to GPU's, normal RAM in the case of Apples. Bigger is better here. More RAM implies larger models, which will significantly improve the quality of the output. Personally, I 'd state one needs a minimum of over 24GB to be able to run anything helpful. That will fit a 32 billion parameter model with a little headroom to spare. Building, or buying, a workstation that is geared up to manage that can quickly cost thousands of euros.

So what to do, if you don't have that amount of money to spare? You purchase pre-owned! This is a practical choice, however as always, there is no such thing as a totally free lunch. Memory might be the main concern, however don't underestimate the significance of memory bandwidth and other specifications. Older devices will have lower performance on those elements. But let's not fret excessive about that now. I have an interest in constructing something that a minimum of can run the LLMs in a usable method. Sure, the current Nvidia card might do it faster, but the point is to be able to do it at all. Powerful online designs can be nice, however one ought to at the extremely least have the choice to switch to a local one, if the scenario calls for drapia.org it.

Below is my effort to build such a capable AI computer system without spending too much. I wound up with a workstation with 48GB of VRAM that cost me around 1700 euros. I might have done it for annunciogratis.net less. For example, it was not strictly essential to buy a brand name new dummy GPU (see below), or I might have discovered someone that would 3D print the cooling fan shroud for me, instead of delivering a ready-made one from a far country. I'll admit, I got a bit restless at the end when I discovered I had to buy yet another part to make this work. For me, this was an appropriate tradeoff.

Hardware

This is the full expense breakdown:

And this is what it appeared like when it first booted up with all the parts installed:

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 choice since I currently owned it. This was the beginning point. About 2 years back, I wanted a computer system that might function 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 must work for hosting VMs. I bought it previously owned and then swapped the 512GB hard disk for a 6TB one to keep those virtual devices. 6TB is not needed for running LLMs, and therefore I did not include it in the breakdown. But if you prepare to collect lots of models, 512GB may not suffice.

I have actually pertained to like this workstation. It feels all very strong, and I haven't had any issues with it. A minimum of, until I began this job. It turns out that HP does not like competition, and I came across some troubles when swapping components.

2 x NVIDIA Tesla P40

This is the magic ingredient. GPUs are pricey. But, similar to the HP Z440, often one can find older devices, that used to be leading of the line and is still extremely capable, pre-owned, for fairly little cash. These Teslas were implied to run in server farms, for things like 3D rendering and other graphic processing. They come geared up with 24GB of VRAM. Nice. They suit a PCI-Express 3.0 x16 slot. The Z440 has 2 of those, so we buy 2. Now we have 48GB of VRAM. Double good.

The catch is the part about that they were implied for servers. They will work fine in the PCIe slots of a regular workstation, but in servers the cooling is handled differently. Beefy GPUs consume a great deal of power and can run really hot. That is the factor customer GPUs always come geared up with huge fans. The cards need to look after their own cooling. The Teslas, however, have no fans whatsoever. They get just as hot, but anticipate the server to supply a constant circulation of air to cool them. The enclosure of the card is rather formed like a pipeline, and you have 2 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 quickly as you put it to work.

The solution is easy: just install a fan on one end of the pipeline. And certainly, it seems an entire home market has grown of people that offer 3D-printed shrouds that hold a basic 60mm fan in just the right location. The issue is, the cards themselves are already quite bulky, and it is difficult to find a configuration that fits 2 cards and 2 fan mounts in the computer system case. The seller who offered me my two Teslas was kind adequate to include 2 fans with shrouds, but 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 bothersome. The HP Z440 had a 700 Watt PSU, which may have sufficed. But I wasn't sure, and I required to buy a new PSU anyhow because it did not have the ideal ports to power the Teslas. Using this handy website, I deduced that 850 Watt would suffice, and I purchased the NZXT C850. It is a modular PSU, implying that you only require to plug in the cables that you in fact need. It featured a neat bag to store the extra cable televisions. One day, I may offer 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 challenging to switch the PSU. It does not fit physically, and they also changed the main board and CPU connectors. All PSU's I have actually ever seen in my life are rectangular boxes. The HP PSU likewise is a rectangle-shaped box, but with a cutout, making certain that none of the typical PSUs will fit. For no technical reason at all. This is simply to mess with you.

The mounting was eventually resolved by using 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, thatswhathappened.wiki and I feel fortunate that this worked. I have seen Youtube videos where people turned to double-sided tape.

The connector required ... another purchase.

Not cool HP.

GT 1030

There is another problem with utilizing server GPUs in this customer workstation. The Teslas are meant to crunch numbers, not to play video games with. Consequently, they do not have any ports to link a monitor to. The BIOS of the HP Z440 does not like this. It declines to boot if there is no way to output a video signal. This computer will run headless, however we have no other choice. We need to get a 3rd video card, that we don't to intent to use ever, just to keep the BIOS happy.

This can be the most scrappy card that you can find, obviously, however there is a requirement: we must make it fit on the main board. The Teslas are bulky 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 purchase any x8 card, though, because often even when a GPU is promoted as x8, the real connector on it might be simply as broad as an x16. Electronically it is an x8, physically it is an x16. That will not work on this main board, we truly require the little adapter.

Nvidia Tesla Cooling Fan Kit

As said, the difficulty is to find a fan shroud that suits the case. After some browsing, I found this kit on Ebay a purchased 2 of them. They came provided complete with a 40mm fan, and all of it fits perfectly.

Be cautioned that they make a terrible great deal of sound. You do not want to keep a computer system 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 job. It regularly 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 shows the worths with time:

As one can see, the fans were noisy, however not particularly efficient. 90 degrees is far too hot. I browsed the internet for a reasonable ceiling but might not find anything specific. The documents on the Nvidia site mentions a temperature level of 47 degrees Celsius. But, what they suggest by that is the temperature level of the ambient air surrounding the GPU, not the determined value on the chip. You understand, the number that really is reported. Thanks, Nvidia. That was valuable.

After some further browsing and reading the viewpoints of my fellow internet citizens, my guess is that things will be fine, offered that we keep it in the lower 70s. But do not quote me on that.

My very first effort to fix the situation was by setting a maximum to the power consumption of the GPUs. According to this Reddit thread, one can reduce the power usage of the cards by 45% at the expense of just 15% of the performance. I attempted it and ... did not observe any difference 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, but the temperature level attributes 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 ideal corner, inside the black box. This is a fan that sucks air into the case, and I figured this would work 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 discovered 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 higher setting did marvels for the temperature. It likewise made more sound.

I'll unwillingly admit that the 3rd video card was valuable when adjusting the BIOS setting.

MODDIY Main Power Adaptor Cable and Akasa Multifan Adaptor

Fortunately, often things simply work. These two items 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 great feature that it can power two fans with 12V and two with 5V. The latter certainly minimizes the speed and therefore the cooling power of the fan. But it likewise minimizes sound. Fiddling a bit with this and the case fan setting, I found an appropriate tradeoff between sound and temperature level. In the meantime a minimum of. Maybe I will require to revisit this in the summer.

Some numbers

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

Performancewise, ollama is configured with:

All designs have the default quantization that ollama will pull for you if you don't specify anything.

Another important finding: Terry is by far the most popular name for a tortoise, followed by Turbo and Toby. Harry is a preferred for hares. All LLMs are loving alliteration.

Power usage

Over the days I watched 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 improves latency, however consumes more power. My existing setup is to have 2 models loaded, one for coding, the other for generic text processing, and keep them on the GPU for approximately an hour after last usage.

After all that, am I happy that I started this project? Yes, I believe I am.

I spent a bit more money than prepared, however I got what I wanted: a way of in your area running medium-sized designs, totally under my own control.

It was an excellent choice to begin with the workstation I currently owned, and see how far I could feature that. If I had begun with a new machine from scratch, it certainly would have cost me more. It would have taken me much longer too, as there would have been much more options to pick from. I would likewise have actually been extremely tempted to follow the hype and buy the current and biggest of everything. New and glossy toys are enjoyable. But if I buy something brand-new, I want it to last for several years. Confidently predicting where AI will go in 5 years time is difficult today, so having a less expensive machine, that will last at least some while, feels satisfactory to me.

I wish you all the best on your own AI journey. I'll report back if I find something brand-new or intriguing.