Skip to content

Commit a7b5dd3

Browse files
authored
Merge branch 'master' into update-pytorch
2 parents 6173cce + 499e81a commit a7b5dd3

File tree

20 files changed

+492
-103
lines changed

20 files changed

+492
-103
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## v2.174.0 (2023-08-02)
4+
5+
### Features
6+
7+
* meta llama fine tuning
8+
* support online store ttl for records
9+
* Deploy uncompressed ML model from S3 to SageMaker Hosting endpoints
10+
* AutoGluon 0.8.2 image_uris update
11+
12+
### Bug Fixes and Other Changes
13+
14+
* [Feature] Propagate tags to lineage resources
15+
* excessive jumpstart logging
16+
* chore: jumpstart deprecation messages
17+
* build(deps): bump pygments from 2.11.2 to 2.15.0 in /requirements/tox
18+
* Remove deleted notebook tests from test confg
19+
* chore: add jumpstart llama 2 tests
20+
21+
### Documentation Changes
22+
23+
* add smp class for supporting flash attn
24+
325
## v2.173.0 (2023-07-15)
426

527
### Features

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.173.1.dev0
1+
2.174.1.dev0

src/sagemaker/djl_inference/model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ def serving_image_uri(self, region_name):
781781
str: The appropriate image URI based on the given parameters.
782782
"""
783783
if not self.djl_version:
784-
self.djl_version = "0.22.1"
784+
self.djl_version = "0.23.0"
785785

786786
return image_uris.retrieve(
787787
self._framework(),

src/sagemaker/huggingface/llm_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,6 @@ def get_huggingface_llm_image_uri(
5151
image_scope="inference",
5252
)
5353
if backend == "lmi":
54-
version = version or "0.22.1"
54+
version = version or "0.23.0"
5555
return image_uris.retrieve(framework="djl-deepspeed", region=region, version=version)
5656
raise ValueError("Unsupported backend: %s" % backend)

src/sagemaker/jumpstart/artifacts/__init__.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,21 @@
1111
# ANY KIND, either express or implied. See the License for the specific
1212
# language governing permissions and limitations under the License.
1313
"""This module imports all JumpStart artifact functions from the respective sub-module."""
14-
from sagemaker.jumpstart.artifacts.prepack import _model_supports_prepacked_inference # noqa: F401
1514
from sagemaker.jumpstart.artifacts.resource_names import ( # noqa: F401
1615
_retrieve_resource_name_base,
1716
)
1817
from sagemaker.jumpstart.artifacts.incremental_training import ( # noqa: F401
1918
_model_supports_incremental_training,
2019
)
2120
from sagemaker.jumpstart.artifacts.image_uris import _retrieve_image_uri # noqa: F401
22-
from sagemaker.jumpstart.artifacts.script_uris import _retrieve_script_uri # noqa: F401
23-
from sagemaker.jumpstart.artifacts.model_uris import _retrieve_model_uri # noqa: F401
21+
from sagemaker.jumpstart.artifacts.script_uris import ( # noqa: F401
22+
_retrieve_script_uri,
23+
_model_supports_inference_script_uri,
24+
)
25+
from sagemaker.jumpstart.artifacts.model_uris import ( # noqa: F401
26+
_retrieve_model_uri,
27+
_model_supports_training_model_uri,
28+
)
2429
from sagemaker.jumpstart.artifacts.hyperparameters import ( # noqa: F401
2530
_retrieve_default_hyperparameters,
2631
)
@@ -52,4 +57,7 @@
5257
_retrieve_supported_accept_types,
5358
_retrieve_supported_content_types,
5459
)
55-
from sagemaker.jumpstart.artifacts.model_packages import _retrieve_model_package_arn # noqa: F401
60+
from sagemaker.jumpstart.artifacts.model_packages import ( # noqa: F401
61+
_retrieve_model_package_arn,
62+
_retrieve_model_package_model_artifact_s3_uri,
63+
)

src/sagemaker/jumpstart/artifacts/model_packages.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,61 @@ def _retrieve_model_package_arn(
7575
return regional_arn
7676

7777
raise NotImplementedError(f"Model Package ARN not supported for scope: '{scope}'")
78+
79+
80+
def _retrieve_model_package_model_artifact_s3_uri(
81+
model_id: str,
82+
model_version: str,
83+
region: Optional[str],
84+
scope: Optional[str] = None,
85+
tolerate_vulnerable_model: bool = False,
86+
tolerate_deprecated_model: bool = False,
87+
) -> Optional[str]:
88+
"""Retrieves s3 artifact uri associated with model package.
89+
90+
Args:
91+
model_id (str): JumpStart model ID of the JumpStart model for which to
92+
retrieve the model package artifact.
93+
model_version (str): Version of the JumpStart model for which to retrieve the
94+
model package artifact.
95+
region (Optional[str]): Region for which to retrieve the model package artifact.
96+
(Default: None).
97+
scope (Optional[str]): Scope for which to retrieve the model package artifact.
98+
(Default: None).
99+
tolerate_vulnerable_model (bool): True if vulnerable versions of model
100+
specifications should be tolerated (exception not raised). If False, raises an
101+
exception if the script used by this version of the model has dependencies with known
102+
security vulnerabilities. (Default: False).
103+
tolerate_deprecated_model (bool): True if deprecated versions of model
104+
specifications should be tolerated (exception not raised). If False, raises
105+
an exception if the version of the model is deprecated. (Default: False).
106+
107+
Returns:
108+
str: the model package artifact uri to use for the model or None.
109+
110+
Raises:
111+
NotImplementedError: If an unsupported script is used.
112+
"""
113+
114+
if scope == JumpStartScriptScope.TRAINING:
115+
116+
if region is None:
117+
region = JUMPSTART_DEFAULT_REGION_NAME
118+
119+
model_specs = verify_model_region_and_return_specs(
120+
model_id=model_id,
121+
version=model_version,
122+
scope=scope,
123+
region=region,
124+
tolerate_vulnerable_model=tolerate_vulnerable_model,
125+
tolerate_deprecated_model=tolerate_deprecated_model,
126+
)
127+
128+
if model_specs.training_model_package_artifact_uris is None:
129+
return None
130+
131+
model_s3_uri = model_specs.training_model_package_artifact_uris.get(region)
132+
133+
return model_s3_uri
134+
135+
raise NotImplementedError(f"Model Package Artifact URI not supported for scope: '{scope}'")

src/sagemaker/jumpstart/artifacts/model_uris.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,45 @@ def _retrieve_model_uri(
9292
model_s3_uri = f"s3://{bucket}/{model_artifact_key}"
9393

9494
return model_s3_uri
95+
96+
97+
def _model_supports_training_model_uri(
98+
model_id: str,
99+
model_version: str,
100+
region: Optional[str],
101+
tolerate_vulnerable_model: bool = False,
102+
tolerate_deprecated_model: bool = False,
103+
) -> bool:
104+
"""Returns True if the model supports training with model uri field.
105+
106+
Args:
107+
model_id (str): JumpStart model ID of the JumpStart model for which to
108+
retrieve the support status for model uri with training.
109+
model_version (str): Version of the JumpStart model for which to retrieve the
110+
support status for model uri with training.
111+
region (Optional[str]): Region for which to retrieve the
112+
support status for model uri with training.
113+
tolerate_vulnerable_model (bool): True if vulnerable versions of model
114+
specifications should be tolerated (exception not raised). If False, raises an
115+
exception if the script used by this version of the model has dependencies with known
116+
security vulnerabilities. (Default: False).
117+
tolerate_deprecated_model (bool): True if deprecated versions of model
118+
specifications should be tolerated (exception not raised). If False, raises
119+
an exception if the version of the model is deprecated. (Default: False).
120+
Returns:
121+
bool: the support status for model uri with training.
122+
"""
123+
124+
if region is None:
125+
region = JUMPSTART_DEFAULT_REGION_NAME
126+
127+
model_specs = verify_model_region_and_return_specs(
128+
model_id=model_id,
129+
version=model_version,
130+
scope=JumpStartScriptScope.TRAINING,
131+
region=region,
132+
tolerate_vulnerable_model=tolerate_vulnerable_model,
133+
tolerate_deprecated_model=tolerate_deprecated_model,
134+
)
135+
136+
return model_specs.use_training_model_artifact()

src/sagemaker/jumpstart/artifacts/prepack.py

Lines changed: 0 additions & 66 deletions
This file was deleted.

src/sagemaker/jumpstart/artifacts/script_uris.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,45 @@ def _retrieve_script_uri(
9090
script_s3_uri = f"s3://{bucket}/{model_script_key}"
9191

9292
return script_s3_uri
93+
94+
95+
def _model_supports_inference_script_uri(
96+
model_id: str,
97+
model_version: str,
98+
region: Optional[str],
99+
tolerate_vulnerable_model: bool = False,
100+
tolerate_deprecated_model: bool = False,
101+
) -> bool:
102+
"""Returns True if the model supports inference with script uri field.
103+
104+
Args:
105+
model_id (str): JumpStart model ID of the JumpStart model for which to
106+
retrieve the support status for script uri with inference.
107+
model_version (str): Version of the JumpStart model for which to retrieve the
108+
support status for script uri with inference.
109+
region (Optional[str]): Region for which to retrieve the
110+
support status for script uri with inference.
111+
tolerate_vulnerable_model (bool): True if vulnerable versions of model
112+
specifications should be tolerated (exception not raised). If False, raises an
113+
exception if the script used by this version of the model has dependencies with known
114+
security vulnerabilities. (Default: False).
115+
tolerate_deprecated_model (bool): True if deprecated versions of model
116+
specifications should be tolerated (exception not raised). If False, raises
117+
an exception if the version of the model is deprecated. (Default: False).
118+
Returns:
119+
bool: the support status for script uri with inference.
120+
"""
121+
122+
if region is None:
123+
region = JUMPSTART_DEFAULT_REGION_NAME
124+
125+
model_specs = verify_model_region_and_return_specs(
126+
model_id=model_id,
127+
version=model_version,
128+
scope=JumpStartScriptScope.INFERENCE,
129+
region=region,
130+
tolerate_vulnerable_model=tolerate_vulnerable_model,
131+
tolerate_deprecated_model=tolerate_deprecated_model,
132+
)
133+
134+
return model_specs.use_inference_script_uri()

src/sagemaker/jumpstart/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@
147147

148148
JUMPSTART_RESOURCE_BASE_NAME = "sagemaker-jumpstart"
149149

150+
SAGEMAKER_GATED_MODEL_S3_URI_TRAINING_ENV_VAR_KEY = "SageMakerGatedModelS3Uri"
150151

151152
CONTENT_TYPE_TO_SERIALIZER_TYPE_MAP: Dict[MIMEType, SerializerType] = {
152153
MIMEType.X_IMAGE: SerializerType.RAW_BYTES,

0 commit comments

Comments
 (0)