How is that For Flexibility?
Ada Owens урећивао ову страницу пре 6 месеци


As everyone is aware, the world is still going nuts trying to develop more, more recent and much better AI tools. Mainly by tossing unreasonable quantities of cash at the issue. Many of those billions go towards developing low-cost or complimentary services that operate at a significant loss. The tech giants that run them all are wishing to attract as lots of users as possible, so that they can record the marketplace, and become the dominant or just celebration that can offer them. It is the timeless Silicon Valley playbook. Once supremacy is reached, anticipate the enshittification to begin.

A most likely method to make 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 rejection of DeepSeek's R1 to discuss what happened 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 fully expect to be able to have a frank and sincere conversation about the Tiananmen events with an American AI representative, however the just one I can pay for will have presumed the personality of Father Christmas who, while holding a can of Coca-Cola, will sprinkle the stating of the awful occasions with a joyful "Ho ho ho ... Didn't you understand? The holidays are coming!"

Or perhaps that is too far-fetched. Right now, dispite all that cash, the most popular service for code completion still has problem working with a number of basic words, regardless of them being present in every dictionary. There should be a bug in the "complimentary speech", or something.

But there is hope. Among the tricks of an approaching player to shock the market, is to undercut the incumbents by launching their model totally free, under a liberal license. This is what DeepSeek simply finished 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. Even better, people can take these designs and scrub the biases from them. And we can download those scrubbed models and run those on our own hardware. And after that we can lastly have some truly beneficial LLMs.

That hardware can be a hurdle, though. There are 2 options to pick from if you desire to run an LLM in your area. You can get a big, powerful video card from Nvidia, or you can buy an Apple. Either is pricey. The main spec that suggests how well an LLM will perform is the amount of memory available. VRAM when it comes to GPU's, regular RAM in the case of Apples. Bigger is much better here. More RAM means larger models, which will dramatically enhance the quality of the output. Personally, I 'd state one requires a minimum of over 24GB to be able to run anything useful. That will fit a 32 billion specification design with a little headroom to spare. Building, or purchasing, a workstation that is equipped to deal with that can easily cost countless euros.

So what to do, if you don't have that quantity of cash to spare? You purchase pre-owned! This is a practical alternative, however as always, there is no such thing as a free lunch. Memory might be the main concern, however don't underestimate the importance of memory bandwidth and other specifications. Older equipment will have lower performance on those elements. But let's not fret too much about that now. I am interested in building something that at least can run the LLMs in a functional way. Sure, the most recent Nvidia card might do it faster, but the point is to be able to do it at all. Powerful can be great, but one should at the minimum have the alternative to change to a regional one, if the circumstance calls for it.

Below is my attempt to build such a capable AI computer system without investing too much. I ended up with a workstation with 48GB of VRAM that cost me around 1700 euros. I might have done it for less. For example, it was not strictly necessary to buy a brand brand-new dummy GPU (see listed 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 distant country. I'll confess, I got a bit restless at the end when I discovered I had to purchase yet another part to make this work. For me, this was an acceptable tradeoff.

Hardware

This is the complete cost breakdown:

And this is what it looked liked when it first booted with all the parts set up:

I'll give some context on the parts below, and after that, I'll run a couple of quick tests to get some numbers on the performance.

HP Z440 Workstation

The Z440 was an easy choice because I currently owned it. This was the starting point. About 2 years ago, I desired a computer system that could act 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 lot of memory, that must work for hosting VMs. I bought it secondhand and after that switched the 512GB 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 prepare to collect lots of designs, 512GB might not be enough.

I have pertained to like this workstation. It feels all really solid, and I haven't had any issues with it. A minimum of, till I started this task. It ends up that HP does not like competitors, and I came across some difficulties when switching components.

2 x NVIDIA Tesla P40

This is the magic active ingredient. GPUs are expensive. But, similar to the HP Z440, frequently one can find older equipment, that used to be leading of the line and is still very capable, pre-owned, for fairly little money. These Teslas were implied 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 buy 2. Now we have 48GB of VRAM. Double great.

The catch is the part about that they were indicated for servers. They will work great in the PCIe slots of a normal workstation, however in servers the cooling is managed differently. Beefy GPUs take in a great deal of power and can run extremely hot. That is the reason consumer GPUs always come geared up with huge fans. The cards need to take care of their own cooling. The Teslas, nevertheless, have no fans whatsoever. They get just as hot, but anticipate the server to supply a consistent flow of air to cool them. The enclosure of the card is rather shaped like a pipe, and you have 2 options: blow in air from one side or blow it in from the opposite. How is that for flexibility? You absolutely must blow some air into it, though, or you will harm it as quickly as you put it to work.

The solution is basic: just mount a fan on one end of the pipeline. And certainly, it seems an entire home industry has actually grown of individuals that sell 3D-printed shrouds that hold a basic 60mm fan in simply the ideal location. The issue is, the cards themselves are currently quite large, and it is difficult to discover a configuration that fits 2 cards and two fan installs in the computer system case. The seller who sold me my two Teslas was kind enough to consist of two fans with shrouds, but there was no method I might 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 might have sufficed. But I wasn't sure, and I needed to buy a new PSU anyway because it did not have the right connectors to power the Teslas. Using this convenient website, I deduced that 850 Watt would suffice, and I purchased the NZXT C850. It is a modular PSU, indicating that you only require to plug in the cable televisions that you actually require. It included a neat bag to keep the extra cable televisions. One day, I may provide it an excellent cleansing and use it as a toiletry bag.

Unfortunately, HP does not like things that are not HP, so they made it tough to swap the PSU. It does not fit physically, and they likewise changed the main board and CPU connectors. All PSU's I have ever seen in my life are rectangle-shaped boxes. The HP PSU also 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 tinker you.

The mounting was eventually fixed by utilizing two random holes in the grill that I in some way managed to line up with the screw holes on the NZXT. It sort of hangs stable now, and I feel fortunate that this worked. I have seen Youtube videos where individuals resorted to double-sided tape.

The connector required ... another purchase.

Not cool HP.

Gainward GT 1030

There is another problem 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 link a screen 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 system will run headless, however we have no other option. We need to get a 3rd video card, that we do not to intent to use ever, just to keep the BIOS pleased.

This can be the most scrappy card that you can find, naturally, but there is a requirement: we should make it fit on the main board. The Teslas are bulky 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, though, because frequently even when a GPU is marketed as x8, the real port on it may be just as broad as an x16. Electronically it is an x8, physically it is an x16. That won't work on this main board, we truly need the little port.

Nvidia Tesla Cooling Fan Kit

As said, the obstacle 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 provided total with a 40mm fan, and it all fits perfectly.

Be alerted that they make a horrible great deal of sound. You do not desire 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 job. It regularly reads out the temperature level on the GPUs and sends out that to my Homeassistant server:

In Homeassistant I included a graph to the control panel that shows the values with time:

As one can see, the fans were noisy, but not particularly effective. 90 degrees is far too hot. I browsed the internet for a reasonable upper limit however might not discover anything particular. The paperwork on the Nvidia site 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 value on the chip. You know, the number that really is reported. Thanks, Nvidia. That was useful.

After some further searching and checking out the viewpoints of my fellow internet people, my guess is that things will be great, offered that we keep it in the lower 70s. But do not estimate me on that.

My very first attempt to treat the circumstance was by setting an optimum to the power intake of the GPUs. According to this Reddit thread, one can lower the power consumption of the cards by 45% at the expense of only 15% of the efficiency. I tried it and ... did not see any difference at all. I wasn't sure about the drop in efficiency, having only a number of minutes of experience with this configuration at that point, but the temperature characteristics were certainly the same.

And then 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 picture above, it remains in the best 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 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 greater setting did wonders for the temperature level. It also made more sound.

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

MODDIY Main Power Adaptor Cable and Akasa Multifan Adaptor

Fortunately, often things just work. These 2 items were plug and play. The MODDIY adaptor cable television connected 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 nice function that it can power 2 fans with 12V and 2 with 5V. The latter certainly decreases the speed and therefore the cooling power of the fan. But it also lowers noise. Fiddling a bit with this and the case fan setting, I discovered an acceptable tradeoff in between sound and temperature level. In the meantime a minimum of. Maybe I will need to review this in the summer season.

Some numbers

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

Performancewise, ollama is set up with:

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

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

Power intake

Over the days I kept an eye on the power intake 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 takes in more power. My existing setup is to have actually 2 designs packed, one for coding, the other for generic text processing, and keep them on the GPU for up to an hour after last use.

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

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

It was an excellent option to begin with the workstation I already owned, and see how far I might come with that. If I had begun with a brand-new machine from scratch, it certainly would have cost me more. It would have taken me much longer too, as there would have been a lot more alternatives to pick from. I would also have been really lured to follow the hype and buy the current and biggest of whatever. New and shiny toys are enjoyable. But if I buy something brand-new, I desire it to last for many years. Confidently forecasting where AI will go in 5 years time is impossible right now, so having a less expensive machine, that will last a minimum of some while, feels satisfying to me.

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