LLM fine-tuning in Europe: where to train, what it costs, who owns the weights

Train models

Dominik Keller

Dominik Keller

Founder, Kontinent

Cover image with the German headline “Vier Wege, ein Modell in Europa zu trainieren”: a stepped line of checkpoints where only the last one clears the baseline.

"Fine-tuning in Europe" means three things that can be true or false independently of one another: where your training data resides during the run, where the GPUs are located, and who ultimately owns the weights. There are four paths, and they differ primarily on the third point. An H100 hour starts at 2.80 euros with European specialty providers, and is two to three times that with hyperscalers in their own EU regions.

Most conversations about European AI stop at data residency. For inference, that is indeed the right question: which region, which DPA, which retention period. During training, the focus shifts. A fully trained model is a file. Whoever has this file can run, copy, sell, and still load the model in five years, even if the provider has long since shut down.

This post is the map for this journey. It shows the four ways to train a model in Europe, with prices pulled directly from the providers' price lists on September 21, 2026, with the base models whose licenses permit it, and with the question that ultimately decides sovereignty. Whether fine-tuning is even worth it for you is a different question, which we have answered elsewhere.

The Essentials in Brief

  • Three things must be verified separately: training data, computing capacity, and weights. Many offerings cover two of these and remain silent on the third. The third is the one that lasts.

  • European specialty providers are significantly cheaper than hyperscalers in their EU regions. An H100 hour costs 2.80 euros at OVHcloud and 2.87 euros at Scaleway. Azure charges 7.79 euros in Germany, AWS in Stockholm charges the equivalent of 6.42 euros. For eight-GPU systems, the gap gets wider, not smaller.

  • AWS does not list any H100 instance for Frankfurt. In the on-demand price list for eu-central-1, the fastest training GPU available is only the A100 from the p4d family. You can get H100s in the EU at AWS in Stockholm, and H200s in Spain.

  • Compute time is the cheapest part. According to common memory calculations, a QLoRA run on a 70B model fits on a single H100 and costs a low double-digit sum in Europe. Data preparation and evals are what make it expensive.

  • A provider can pull the rug out from under you. OpenAI is currently winding down its fine-tuning platform: no new users, and according to the documentation, existing users can only start jobs "for the coming months". If you don't have the weights, you don't have a model.

  • There are plenty of European base models under Apache 2.0, from Mistral Large 3 to Apertus and EuroLLM. Still, a European model is not a prerequisite. What matters is the license and where you run it.

Table of Contents

  1. What "training in Europe" concretely means

  2. An overview of the four paths

  3. Path 1: Managed Fine-Tuning API

  4. Path 2: GPU hours with a European provider

  5. Path 3: EuroHPC AI Factories

  6. Path 4: On-premise hardware

  7. Which machine a run actually needs

  8. What a training run ultimately costs

  9. Which base model you can use

  10. Where the weights are, and why that is the real question

  11. What the AI Act changes about this

  12. Evaluation: measuring in German

  13. How we walk through this with you

  14. Frequently Asked Questions

What "training in Europe" concretely means

A training run touches three locations, and a provider can be European in two of them and not in the third.

The first location is your dataset. It leaves your premises, lands in object storage, and is loaded into the training process from there. The same questions apply here as with any data processing agreement: region, DPA, deletion periods, sub-processors. The second location is the GPU itself—the data center where the run takes place. The third location is where the finished weights are stored, and many offerings simply say nothing about this.

This separation is not a mere formality. It explains why two providers, who both write "GDPR-compliant" and "EU data center" on their website, end up leading to completely different dependencies. With one, you download a file after the run. With the other, you get an endpoint and a model ID.

An overview of the four paths

Path

How fast to get started

Do you get the weights?

When does it make sense

Managed Fine-Tuning API

Hours

Usually no, depending on the provider

First attempt, unclear benefits, no MLOps team

GPU hours with an EU provider

Days

Yes, the file is yours

The standard case for production projects

EuroHPC AI Factory

Weeks (Application)

Yes

SMEs and startups with high compute needs and time

On-premise hardware

Months

Yes, including the bare metal

Continuous load, strict compliance requirements, no data egress allowed

Most companies we talk to end up choosing Path 2. Path 1 is a sensible entry point when no one knows yet whether training will actually help. Path 3 is underestimated but has strict access criteria. Path 4 pays off less frequently than it is discussed.

Path 1: Managed Fine-Tuning API

You upload a JSONL file, select a base model, start a job, and shortly after receive a model ID that you can query like any other model. No cluster, no scheduler, no CUDA version. This is the fastest way to get from an idea to a measurable answer.

Payment is based on training tokens. Fireworks tiers by model size: $0.50 per million tokens for models up to 16B parameters, $10.00 beyond 300B. Together ranges from $0.34 to $40.00 per million tokens depending on the model, with a minimum fee per job. Mistral charges $1 per million training tokens for its classifier models, with a minimum of $4 per job and a $2 storage fee per model per month. However, its corresponding documentation page has carried a deprecation notice for some time; Mistral now points to a different offering for custom models.

OpenAI is missing from this list, and the reason is educational. Its own documentation now states: "OpenAI is winding down the fine-tuning platform. The platform is no longer accessible to new users, but existing users of the fine-tuning platform will be able to create training jobs for the coming months." Already trained models remain accessible for inference until their base model is deprecated. The prices are still in the price list, $3.00 per million training tokens for gpt-4o-mini and $25.00 for gpt-4.1. For a new project, they are irrelevant because you can no longer sign up.

For a European project, this path has two catches, and the second is the larger one.

The first is the provider's location. Together and Fireworks are US companies. EU data residency can be booked with some, but it is a configuration, not a default state, and it does not change who the company is subject to. We have calculated the four typical sourcing paths for US models elsewhere.

The second catch is directly related: without weights, your model's survival is tied to the life cycle of a third-party company. It exists only as a model ID in a system you do not control, and if that system is wound down, the training effort is lost. This is not a hypothetical concern. It is written in the paragraph above. Things usually look better on platforms for open models, where you can frequently download the LoRA adapters. This is the point you should clarify before your first job, not after the third.

If you want to generate training data using a frontier model, another layer comes into play: the terms of use of frontier providers prohibit doing so for competing models. We have compared the full text of these clauses.

Path 2: GPU hours with a European provider

You rent a machine, upload your dataset, run Axolotl, torchtune, or your own script, and ultimately download a directory of weights. Slightly more work than Path 1, and the difference in the result is ownership.

Prices change, so here is the status as of this date. We retrieved the following values on September 21, 2026, directly from the providers' own price lists: for OVHcloud from the public order catalog for Germany, for Azure from the Retail Prices API, and for AWS from the Price List API.

Balkendiagramm der On-Demand-Listenpreise für eine H100-GPU-Stunde in Europa: OVHcloud 2,80 Euro, Scaleway 2,87 Euro, Nebius 3,36 Euro, AWS Stockholm 6,42 Euro, Azure Deutschland 7,79 Euro.

The difference is not a rounding error. Azure charges nearly three times in Germany for a single H100 compared to what OVHcloud charges in France. And the gap grows with the size of the system: an eight-GPU node with H100 SXM costs 25.33 euros per hour at Scaleway, which is 3.17 euros per GPU. The same configuration costs 109.75 euros per hour at Azure in West Europe, which is 13.72 euros per GPU.

Provider

HQ and Region

Configuration

List Price per Hour

OVHcloud

France

1× H100 80 GB

€2.80

OVHcloud

France

1× A100 80 GB

€2.75

OVHcloud

France

8× H200 141 GB

€42.00 (€5.25 per GPU)

Scaleway

France, Paris

1× H100 PCIe 80 GB

€2.87

Scaleway

France, Paris

8× H100 SXM 80 GB

€25.33 (€3.17 per GPU)

Scaleway

France, Paris

8× B300 SXM

€60.00 (€7.50 per GPU)

Nebius

Netherlands, Finland Data Center

H100, On-Demand

$3.85 (preemptible $2.15)

Nebius

Netherlands, Finland Data Center

H200, On-Demand

$4.50 (preemptible $2.45)

Azure

USA, Germany West Central Region

1× H100 NVL (NC40ads H100 v5)

€7.79

Azure

USA, West Europe Region

8× H100 SXM (ND96isr H100 v5)

€109.75 (€13.72 per GPU)

AWS

USA, Stockholm Region

1× H100 (p5.4xlarge)

$7.36

AWS

USA, Spain Region

8× H200 (p5en.48xlarge)

$68.36 ($8.55 per GPU)

AWS

USA, Frankfurt Region

no H100 in price list, only 8× A100 40 GB

$27.43

The last row is the one that consistently surprises clients during discussions. Anyone who naturally assumes they can train on H100s in Frankfurt because AWS runs a large data center there will find no p5 instance in the on-demand price list for eu-central-1. The next best training GPU there is the A100 with 40 GB. In the EU, H100s are available from AWS in Stockholm, and H200s in Spain. For a project with the constraint "data must remain in Germany," this is a hard blocker, and it usually only gets noticed once the architecture has already been designed.

Two notes on the figures: These are list prices without discounts, without reservations, and without VAT, and they only cover the GPU. Storage, outbound traffic, and networking between nodes are extra. We converted the US dollar values in the diagram using the ECB reference rate from September 18, 2026, where 1 euro equals 1.1460 US dollars.

Path 3: EuroHPC AI Factories

There is public computing capacity in Europe that many companies do not have on their radar. The EuroHPC Joint Undertaking has now designated 19 AI Factories and 13 AI Factory Antennas, distributed across Finland, Germany, France, Italy, Spain, Sweden, Luxembourg, Greece, Slovenia, Bulgaria, Austria, the Czech Republic, Lithuania, the Netherlands, Poland, and Romania, among others.

Access is tiered. Playground Access provides small quotas to get started, Fast Lane Access offers up to 50,000 GPU hours, and Large Scale Access provides even more. All three are free of charge. There is also a track for research and funded collaborative projects.

The restriction is built right into the access criteria: the free innovation tracks are aimed at SMEs and startups in the field of AI. A corporation with 4,000 employees does not qualify; a paid model applies to commercial use outside these categories. However, those who meet the criteria can get compute time on a scale that exceeds any reasonable cloud budget. JUPITER in Jülich, officially operational since November 2025, is Europe's first exascale computer and runs on roughly 24,000 GH200 Grace Hopper Superchips.

Realistically, this is not a path for a quick test. Applications take time, and the environment is an HPC cluster with Slurm and a module system. If you expect a cloud VM with SSH and root access, you are bringing the wrong tools. For a planned, larger initiative, it is still worth a look, simply because the alternative comes out of your budget.

Path 4: On-premise hardware

The fourth path is the one that gets talked about the most and calculated the least. Having your own GPU in your own rack resolves any residency question in one go, and there are industries where this is precisely the requirement.

The math is simple enough to do yourself. An H100 hour costs 2.80 euros at OVHcloud. A full year of continuous operation—8,760 hours—costs around 24,500 euros. This is the figure your own hardware has to compete against, including procurement, depreciation, electricity, cooling, rack space, and the person operating the machine. The decisive factor is utilization: fine-tuning runs are rarely a continuous load. If you train for twelve hours every two months, you are buying a machine that draws power 99 percent of the time for no reason.

It is a different story if continuous inference runs on the same hardware after training. Then, a sporadically used training machine becomes a permanently utilized inference server, and the calculation flips. The break-even figures circulating online for self-hosting versus token prices contradict each other by orders of magnitude, which is why none are listed here. Calculate using your own volumes, the prices above, and an honest assumption about utilization.

Which machine a run actually needs

Before choosing a provider, you should know which machine you actually need. The answer is often smaller than expected, and that is due to LoRA.

LoRA freezes the weights of the base model and only trains small low-rank matrices on top. The original paper by Hu et al. reported a 10,000-fold reduction in trainable parameters and a three-fold lower GPU memory requirement compared to full fine-tuning with Adam for GPT-3 with 175B parameters. QLoRA additionally quantizes the frozen base model to 4-bit. With this, Dettmers et al. demonstrated the fine-tuning of a 65B model on a single 48 GB GPU with matching quality compared to full 16-bit training.

Diagramm des GPU-Speicherbedarfs: 8B-Modell mit QLoRA 4-bit 5 GB, LoRA 15 GB, volles Fine-Tuning 67 GB; 70B-Modell mit QLoRA 4-bit 46 GB, LoRA 146 GB, volles Fine-Tuning 672 GB. Eine H100 hat 80 GB.

The practical consequence: according to this calculation, a 70B model with QLoRA requires about 46 GB and therefore fits on a single 80 GB H100. Full fine-tuning of the same model requires about 672 GB, meaning an eight-GPU node. Between these two options, Scaleway's price differs by almost a factor of nine.

Whether LoRA is qualitatively sufficient has now been well researched. John Schulman and Thinking Machines compiled the conditions in 2025: LoRA matches the quality of full fine-tuning in instruction tuning and reasoning, as long as the dataset does not exceed the capacity of the adapters and the adapters are placed on all layers, including MLP. If you only apply LoRA to the attention layers, you lose measurable quality, even with the same parameter count. The learning rate must be roughly ten times higher than in full fine-tuning. In RL post-training, LoRA is sufficient even with a very small rank, because a policy gradient update per token carries about a thousand times less information than an SFT step.

The fact that LoRA is sufficiently powerful also highlights the uncomfortable side of this research. Lermen et al. used LoRA on a single GPU and for less than $200 to strip the safety training out of Llama-2-Chat-70B until the refusal rate fell to about one percent, while general benchmarks remained stable. When you train, you change behavior, including behavior you did not intend to touch.

What a training run ultimately costs

There are no clean benchmarks for the duration of a run. What we do have are real-world experiences. The following data comes from practitioner reports, not controlled measurements, and is correspondingly rough. The prices, on the other hand, are the verified ones listed above.

Run

Reported Duration

Machine

Compute Cost in Europe

8B, QLoRA, ~10,000 examples

under 2 hours

1× A100

approx. €6

70B, QLoRA

8 to 12 hours

1× H100

€22 to €34

70B, full fine-tuning

24 to 48 hours

8× H100 SXM

€610 to €1,220

The order of magnitude is the real takeaway. A first serious attempt at fine-tuning on European hardware costs less in compute time than a single day of consulting. The budget goes elsewhere: into preparing and cleaning the training data, into building a test set you can trust, and into the runs you end up throwing away. Expect multiple attempts, not just one.

And factor in the subsequent hosting costs. Your custom model has to run, typically under vLLM or TGI, and then you pay for GPU hours even when no one is sending queries. This is the point where a training project becomes an operational decision.

Which base model you can use

Fine-tuning requires that you have the weights of the base model and that its license allows you to modify it and run the result commercially. Apache 2.0 and MIT are the worry-free cases here. Europe has more of them than the public discussion suggests.

Model

Origin

Sizes

License

Mistral Large 3

France

675B MoE, with ~41B active

Apache 2.0

Ministral 3

France

14B, 8B, 3B

Apache 2.0

Mistral Small 4

France

compact, Instruct and Reasoning in one model

Apache 2.0

Apertus

Switzerland, EPFL and ETH Zurich

70B, 8B

Apache 2.0

EuroLLM

EU consortium around Unbabel and IST Lisbon

22B, 9B, 1.7B

Apache 2.0

Salamandra and ALIA-40B

Spain, Barcelona Supercomputing Center

40B, 7B, 2B

Apache 2.0

Teuken-7B

Germany, OpenGPT-X

7B

Apache 2.0 in the commercial variant

Two things should be kept distinct here. First, not every model from a European provider is open. Mistral Medium 3.5 is under its own license, and several Small variants run under the Premier label. The provider's origin says nothing about the license.

Second, a European base model is not a prerequisite for sovereignty. A Llama or Qwen with open weights runs on an H100 in Gravelines just like a Mistral, and once downloaded, no communication with the manufacturer occurs. What you need to check are the license terms, which for Llama and Gemma go beyond Apache 2.0, such as naming requirements for derivative models. Sovereignty is established at the deployment location. The mailing address of the training lab does not change that.

Language coverage is where European models actually have a distinct advantage. Teuken-7B, EuroLLM, and Salamandra are explicitly trained on the official languages of the EU. Whether this impacts your specific task can only be determined by a test on your own data.

Where the weights are, and why that is the real question

Up to this point, "who owns the weights" sounded like a question of independence from the provider. The winding down of the OpenAI platform shows that this question becomes practical, and much faster than the depreciation period of a training project. It is also a data protection issue.

A model trained on your data can output training data again. Research on this is clearer than many would like: there is currently no practical defense with robust theoretical guarantees for training data extraction attacks on fine-tuned models. Differential Privacy mitigates the risk but visibly degrades quality. At the same time, new classes of attacks are emerging, such as prompts specifically designed to induce states of high uncertainty to lure out memorized passages.

This makes the storage location of the weight file a question you must be able to answer. If the file is in your own storage in the EU, it is an asset like a database. If it is in a third-party system whose operator you do not know, it is an open loop in your record of processing activities. We have detailed the legal basis for training, when a model still has personal references, and what happens in the event of a deletion request after the run, complete with references.

Practically, this leads to a short list: before your first run, clarify where the artifacts land, who besides you can access them, how long intermediate states are kept, and whether you ultimately get a file or just an endpoint.

What the AI Act changes about this

Less than most fear. The worry of automatically becoming a provider of a GPAI model through fine-tuning and thus inheriting the full obligations of the AI Act usually dissipates upon closer inspection.

The Commission established a rule of thumb in its guidelines from July 18, 2025: a substantial modification is generally only assumed if the modification consumes more than one-third of the training compute power of the original model. If this compute power is unknown, alternative thresholds apply, derived from the thresholds that make a model a GPAI model in the first place. A LoRA run of twelve hours on an H100 is many orders of magnitude below that.

Thus, you are generally subject to the obligations of the deployer. The details and current deadlines under the Digital Omnibus can be found in the article on the legal framework.

Evaluation: measuring in German

A training run without evaluation is just an opinion. The standard tool is EleutherAI's lm-evaluation-harness, which covers over 200 tasks and can target both local models and OpenAI-compatible endpoints. Stanford's HELM and Hugging Face's LightEval serve the same purpose with different focuses.

For German-language applications, there are two additions that are worthwhile. SuperGLEBer bundles 29 tasks for German language understanding, from document classification to sequence tagging and question answering, and was published at NAACL 2024. The Occiglot project maintains a Euro-LLM leaderboard with German-language versions of common benchmarks.

A methodological catch is well known here and too rarely mentioned: many German benchmarks are machine-translated from English. They then measure translation artifacts rather than German language competence. That is not enough for a purchasing decision. What ultimately counts is a test set made of your own cases, labeled by your own people, and established before the first run starts.

How we walk through this with you

If you have an upcoming training project, we will walk through your case in 30 minutes: which of the four paths fits your compliance requirements, which base model is legally clean, roughly what the run will cost, and where the weights will end up afterward. Engineering perspective included. If the answer is that a prompt and a RAG index solve your problem more cheaply, we will tell you. Book a demo.

Frequently Asked Questions

Can I fine-tune an LLM in Europe in a GDPR-compliant way?

Yes. You need a solid legal basis for processing your data, a provider with a DPA and an EU data center for the run itself, and a decision on where the finished weights will reside. The third point is missing from most setups. The legal side is detailed in the article on GDPR and the AI Act with source references.

What does fine-tuning cost in Europe?

Compute time is inexpensive. According to practitioner reports, a QLoRA run on a 70B model takes 8 to 12 hours on a single H100 and costs around 22 to 34 euros at a list price of 2.80 euros per hour. Full fine-tuning of the same model on eight H100s runs around 610 to 1,220 euros. The larger expenses are data preparation, evaluation, and the runs that do not work.

Which European providers offer GPUs for fine-tuning?

OVHcloud and Scaleway from France, as well as Nebius with its data center in Finland, offer H100s and newer cards by the hour, with list prices between 2.80 and 3.85 euros or US dollars per GPU hour. In addition, there is IONOS with servers in Germany and, for qualified SMEs, the EuroHPC AI Factories.

Do I need a European base model?

No. What matters is where the model runs and where the weights are stored. A model with open weights does not communicate with its manufacturer after being downloaded. You should check the license: Apache 2.0 and MIT are straightforward, while Llama and Gemma come with additional requirements.

Do I get the weights when I use a fine-tuning API?

That depends on the provider and must be clarified before the first job. OpenAI does not provide weights for download for fine-tuned models and is winding down the platform anyway, having closed it to new users according to the documentation. Platforms for open models frequently release the trained adapters. Without your own file, you are tied to the provider's life cycle.

Can we use compute time at EuroHPC?

If you are an SME or startup in the AI sector, yes, and free of charge. Fast Lane Access offers up to 50,000 GPU hours, and Large Scale Access goes beyond that. Larger companies do not qualify for the free innovation tracks. Plan ahead for the application process and expect an HPC environment instead of a cloud VM.

Is a single GPU enough for a 70B model?

For QLoRA, yes. The memory requirement is mathematically around 46 GB, which fits on an 80 GB H100. 16-bit LoRA requires about 146 GB, and full fine-tuning requires roughly 672 GB, meaning an eight-GPU node. Real-world values depend on sequence length, batch size, and optimizer.

Does fine-tuning make me a provider under the EU AI Act?

Typically, no. The Commission's guidelines from July 2025 only assume a substantial modification if the modification consumes more than one-third of the training compute power of the original model. No standard fine-tuning on enterprise data comes anywhere near this.

Sources

As of: September 21, 2026 · kontinent.ai. All prices retrieved from providers' price lists on September 21, 2026, list prices excluding discounts and VAT. US dollar values converted at the ECB reference rate of September 18, 2026. GPU prices change frequently; check the original directory before making a decision. No legal advice.

  • Border Shape
  • Border Shape