@@ -159,107 +159,46 @@ ARG NEURONX_TRANSFORMERS_VERSION=0.13.985
159159ARG NEURONX_DISTRIBUTED_VERSION=0.13.14393+b8569585
160160ARG NEURONX_DISTRIBUTED_INFERENCE_VERSION=0.4.7422+9483d307
161161
162- FROM base AS dev
162+ FROM base AS repo
163163
164- RUN --mount=type=bind,source=apt,target=${NEURON_ARTIFACT_PATH}/apt \
165- install_apt_package() { \
166- pkg_name=$1; \
167- version_arg=$2; \
168- if [ -f "${NEURON_ARTIFACT_PATH}/apt/${version_arg}" ]; then \
169- apt-get install -y ${NEURON_ARTIFACT_PATH}/apt/${version_arg}; \
170- elif [ "${IGNORE_MISSING_NEURON_COMPONENTS}" = "false" ]; then \
171- apt-get install -y ${pkg_name}=${version_arg}; \
172- else \
173- echo "Ignoring package ${pkg_name}"; \
174- fi; \
175- } \
176- && apt-get update \
177- && install_apt_package "aws-neuronx-collectives" "${NEURONX_COLLECTIVES_LIB_VERSION}" \
178- && install_apt_package "aws-neuronx-runtime-lib" "${NEURONX_RUNTIME_LIB_VERSION}" \
179- && install_apt_package "aws-neuronx-tools" "${NEURONX_TOOLS_VERSION}" \
164+ # Install Neuron components from the apt and pip repos (latest versions)
165+ RUN apt-get update \
166+ && apt-get install -y \
167+ aws-neuronx-tools \
168+ aws-neuronx-collectives \
169+ aws-neuronx-runtime-lib \
180170 && rm -rf /var/lib/apt/lists/* \
181171 && rm -rf /tmp/tmp* \
182172 && apt-get clean
183173
184- RUN --mount=type=bind,source=pip,target=${NEURON_ARTIFACT_PATH}/pip \
185- install_pip_package() { \
186- packages=""; \
187- flags=""; \
188- while [ "$#" -gt 0 ]; do \
189- pkg_name=$(echo $1 | cut -d: -f1); \
190- version_arg=$(echo $1 | cut -d: -f2); \
191- extra_flags=$(echo $1 | cut -d: -f3); \
192- if [ -f "${NEURON_ARTIFACT_PATH}/pip/${version_arg}" ]; then \
193- packages="${packages} ${NEURON_ARTIFACT_PATH}/pip/${version_arg}"; \
194- else \
195- if [ "${IGNORE_MISSING_NEURON_COMPONENTS}" = "false" ]; then \
196- packages="${packages} ${pkg_name}==${version_arg}"; \
197- else \
198- echo "Ignoring package ${pkg_name}"; \
199- fi; \
200- fi; \
201- # Store unique flags
202- if [ ! -z "${extra_flags}" ]; then \
203- for flag in $(echo "${extra_flags}" | tr ' ' '\n'); do \
204- case " ${flags} " in \
205- *" ${flag} "*) ;; \
206- *) flags="${flags} ${flag}" ;; \
207- esac \
208- done; \
209- fi; \
210- shift; \
211- done; \
212- if [ ! -z "${packages}" ]; then \
213- echo "Installing packages: ${packages} with flags ${flags}"; \
214- ${PIP} install --no-cache-dir \
215- --extra-index-url="file:///${NEURON_ARTIFACT_PATH}/pip" \
216- ${packages} ${flags}; \
217- fi; \
218- } \
219- && install_pip_package "neuronx-cc:${NEURONX_CC_VERSION}:" "torch-neuronx:${NEURONX_FRAMEWORK_VERSION}:" \
220- && install_pip_package "transformers-neuronx:${NEURONX_TRANSFORMERS_VERSION}:" \
221- && install_pip_package "neuronx_distributed:${NEURONX_DISTRIBUTED_VERSION}:--no-deps" \
222- && install_pip_package "neuronx_distributed_inference:${NEURONX_DISTRIBUTED_INFERENCE_VERSION}:--no-deps" \
174+ RUN ${PIP} install --no-cache-dir \
175+ neuronx-cc \
176+ torch-neuronx \
177+ transformers-neuronx \
178+ && ${PIP} install --no-cache-dir --no-deps \
179+ neuronx_distributed \
180+ neuronx_distributed_inference \
223181 && rm -rf ~/.cache/pip/*
224182
225- FROM base AS repo
226-
227- # Install Neuron components from the apt and pip repos
228- RUN apt-get update \
229- && apt-get install -y \
230- aws-neuronx-tools \
231- aws-neuronx-collectives \
232- aws-neuronx-runtime-lib \
233- && pip install --no-cache-dir \
234- neuronx-cc \
235- torch-neuronx \
236- transformers-neuronx \
237- && pip install --no-cache-dir --no-deps \
238- neuronx_distributed \
239- neuronx_distributed_inference \
240- && rm -rf /var/lib/apt/lists/* \
241- && rm -rf /tmp/tmp* \
242- && rm -rf ~/.cache/pip/* \
243- && apt-get clean
244-
245183FROM base AS prod
246184
185+ # Install Neuron components with specific versions
247186RUN apt-get update \
248187 && apt-get install -y \
249- aws-neuronx-tools=$NEURONX_TOOLS_VERSION \
250- aws-neuronx-collectives=$NEURONX_COLLECTIVES_LIB_VERSION \
251- aws-neuronx-runtime-lib=$NEURONX_RUNTIME_LIB_VERSION \
188+ aws-neuronx-tools=$NEURONX_TOOLS_VERSION \
189+ aws-neuronx-collectives=$NEURONX_COLLECTIVES_LIB_VERSION \
190+ aws-neuronx-runtime-lib=$NEURONX_RUNTIME_LIB_VERSION \
252191 && rm -rf /var/lib/apt/lists/* \
253192 && rm -rf /tmp/tmp* \
254193 && apt-get clean
255194
256- RUN pip install --no-cache-dir \
195+ RUN ${PIP} install --no-cache-dir \
257196 neuronx-cc==$NEURONX_CC_VERSION \
258197 torch-neuronx==$NEURONX_FRAMEWORK_VERSION \
259198 transformers-neuronx==$NEURONX_TRANSFORMERS_VERSION \
260- && pip install --no-cache-dir --no-deps \
261- neuronx_distributed==$NEURONX_DISTRIBUTED_VERSION \
262- neuronx_distributed_inference==$NEURONX_DISTRIBUTED_INFERENCE_VERSION \
199+ && ${PIP} install --no-cache-dir --no-deps \
200+ neuronx_distributed==$NEURONX_DISTRIBUTED_VERSION \
201+ neuronx_distributed_inference==$NEURONX_DISTRIBUTED_INFERENCE_VERSION \
263202 && rm -rf ~/.cache/pip/*
264203
265204FROM ${BUILD_STAGE} AS final
0 commit comments