diff --git a/spacy/errors.py b/spacy/errors.py
index 82e7c52bc..31230d7a4 100644
--- a/spacy/errors.py
+++ b/spacy/errors.py
@@ -131,13 +131,6 @@ class Warnings(metaclass=ErrorsWithCodes):
"and make it independent. For example, `replace_listeners = "
"[\"model.tok2vec\"]` See the documentation for details: "
"https://spacy.io/usage/training#config-components-listeners")
- W088 = ("The pipeline component {name} implements a `begin_training` "
- "method, which won't be called by spaCy. As of v3.0, `begin_training` "
- "has been renamed to `initialize`, so you likely want to rename the "
- "component method. See the documentation for details: "
- "https://spacy.io/api/language#initialize")
- W089 = ("As of spaCy v3.0, the `nlp.begin_training` method has been renamed "
- "to `nlp.initialize`.")
W090 = ("Could not locate any {format} files in path '{path}'.")
W091 = ("Could not clean/remove the temp directory at {dir}: {msg}.")
W092 = ("Ignoring annotations for sentence starts, as dependency heads are set.")
diff --git a/spacy/language.py b/spacy/language.py
index e0abfd5e7..dcb62aef0 100644
--- a/spacy/language.py
+++ b/spacy/language.py
@@ -1239,15 +1239,6 @@ class Language:
sgd(key, W, dW) # type: ignore[call-arg, misc]
return losses
- def begin_training(
- self,
- get_examples: Optional[Callable[[], Iterable[Example]]] = None,
- *,
- sgd: Optional[Optimizer] = None,
- ) -> Optimizer:
- warnings.warn(Warnings.W089, DeprecationWarning)
- return self.initialize(get_examples, sgd=sgd)
-
def initialize(
self,
get_examples: Optional[Callable[[], Iterable[Example]]] = None,
diff --git a/spacy/pipeline/pipe.pyx b/spacy/pipeline/pipe.pyx
index 8407acc45..c5650382b 100644
--- a/spacy/pipeline/pipe.pyx
+++ b/spacy/pipeline/pipe.pyx
@@ -19,13 +19,6 @@ cdef class Pipe:
DOCS: https://spacy.io/api/pipe
"""
- @classmethod
- def __init_subclass__(cls, **kwargs):
- """Raise a warning if an inheriting class implements 'begin_training'
- (from v2) instead of the new 'initialize' method (from v3)"""
- if hasattr(cls, "begin_training"):
- warnings.warn(Warnings.W088.format(name=cls.__name__))
-
def __call__(self, Doc doc) -> Doc:
"""Apply the pipe to one document. The document is modified in place,
and returned. This usually happens under the hood when the nlp object
diff --git a/spacy/tests/pipeline/test_pipe_methods.py b/spacy/tests/pipeline/test_pipe_methods.py
index 4dd7bae16..9b9786f04 100644
--- a/spacy/tests/pipeline/test_pipe_methods.py
+++ b/spacy/tests/pipeline/test_pipe_methods.py
@@ -529,17 +529,6 @@ def test_pipe_label_data_no_labels(pipe):
assert "labels" not in get_arg_names(initialize)
-def test_warning_pipe_begin_training():
- with pytest.warns(UserWarning, match="begin_training"):
-
- class IncompatPipe(TrainablePipe):
- def __init__(self):
- ...
-
- def begin_training(*args, **kwargs):
- ...
-
-
def test_pipe_methods_initialize():
"""Test that the [initialize] config reflects the components correctly."""
nlp = Language()
diff --git a/website/docs/api/dependencyparser.md b/website/docs/api/dependencyparser.md
index 27e315592..c30d39b57 100644
--- a/website/docs/api/dependencyparser.md
+++ b/website/docs/api/dependencyparser.md
@@ -169,12 +169,6 @@ arguments it receives via the
[`[initialize.components]`](/api/data-formats#config-initialize) block in the
config.
-
-
-This method was previously called `begin_training`.
-
-
-
> #### Example
>
> ```python
diff --git a/website/docs/api/entitylinker.md b/website/docs/api/entitylinker.md
index 10132acd9..b116c4be4 100644
--- a/website/docs/api/entitylinker.md
+++ b/website/docs/api/entitylinker.md
@@ -200,12 +200,6 @@ knowledge base. This argument should be a function that takes a `Vocab` instance
and creates the `KnowledgeBase`, ensuring that the strings of the knowledge base
are synced with the current vocab.
-
-
-This method was previously called `begin_training`.
-
-
-
> #### Example
>
> ```python
diff --git a/website/docs/api/entityrecognizer.md b/website/docs/api/entityrecognizer.md
index a535e8316..06828eb04 100644
--- a/website/docs/api/entityrecognizer.md
+++ b/website/docs/api/entityrecognizer.md
@@ -165,12 +165,6 @@ arguments it receives via the
[`[initialize.components]`](/api/data-formats#config-initialize) block in the
config.
-
-
-This method was previously called `begin_training`.
-
-
-
> #### Example
>
> ```python
diff --git a/website/docs/api/language.md b/website/docs/api/language.md
index ad0ac2a46..4d568df62 100644
--- a/website/docs/api/language.md
+++ b/website/docs/api/language.md
@@ -259,15 +259,6 @@ either in the [config](/usage/training#config), or by calling
[`pipe.add_label`](/api/pipe#add_label) for each possible output label (e.g. for
the tagger or textcat).
-
-
-This method was previously called `begin_training`. It now also takes a
-**function** that is called with no arguments and returns a sequence of
-[`Example`](/api/example) objects instead of tuples of `Doc` and `GoldParse`
-objects.
-
-
-
> #### Example
>
> ```python
diff --git a/website/docs/api/pipe.md b/website/docs/api/pipe.md
index 263942e3e..70a4648b6 100644
--- a/website/docs/api/pipe.md
+++ b/website/docs/api/pipe.md
@@ -152,12 +152,6 @@ network,
setting up the label scheme based on the data. This method is typically called
by [`Language.initialize`](/api/language#initialize).
-
-
-This method was previously called `begin_training`.
-
-
-
> #### Example
>
> ```python
diff --git a/website/docs/api/tagger.md b/website/docs/api/tagger.md
index 0d77d9bf4..102793377 100644
--- a/website/docs/api/tagger.md
+++ b/website/docs/api/tagger.md
@@ -142,12 +142,6 @@ arguments it receives via the
[`[initialize.components]`](/api/data-formats#config-initialize) block in the
config.
-
-
-This method was previously called `begin_training`.
-
-
-
> #### Example
>
> ```python
diff --git a/website/docs/api/textcategorizer.md b/website/docs/api/textcategorizer.md
index ed1205d8c..b69c87a28 100644
--- a/website/docs/api/textcategorizer.md
+++ b/website/docs/api/textcategorizer.md
@@ -187,12 +187,6 @@ arguments it receives via the
[`[initialize.components]`](/api/data-formats#config-initialize) block in the
config.
-
-
-This method was previously called `begin_training`.
-
-
-
> #### Example
>
> ```python