{"templateName":"base-page-template54","allowedRenditionsWidth":["320","480","640","768","960","1200","1440","1920"],"cssClassNames":"page basicpage summit-page","canonicalLink":"https://www.snowflake.com/en/artificial-intelligence/machine-learning/mlops/ai-data-pipelines/","robotsTags":[],"language":"en","description":"AI data pipelines prepare and preserve the inputs AI systems rely on, keeping training, inference and retrieval aligned. Learn the stages and best practices.","title":"AI Data Pipelines: Keep Model Inputs Consistent | Snowflake","analyticsPageType":"homepage","analyticsCategory":"general","analyticsSubCategory":"","excludeFromAnalytics":false,":mappedPath":"/en/artificial-intelligence/machine-learning/mlops/ai-data-pipelines/",":type":"snowflake-site/components/structure/page",":items":{"root":{"columnClassNames":{"markup_editor_928258845":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-banner":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-header":"aem-GridColumn aem-GridColumn--default--12","responsivegrid":"aem-GridColumn aem-GridColumn--default--12","markup_editor_597730182":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-footer":"aem-GridColumn aem-GridColumn--default--12","experiencefragment":"aem-GridColumn aem-GridColumn--default--12","modal_container":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnCount":12,":items":{"experiencefragment-banner":{"id":"experiencefragment-ced5b83f37","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/master.xfmodel.json"},"experiencefragment-header":{"id":"experiencefragment-fd18dac4ca","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master.xfmodel.json","languageNavPath":"/content/snowflake-site/global/en/artificial-intelligence/machine-learning/mlops/ai-data-pipelines.languagenav.json"},"responsivegrid":{"columnClassNames":{"flexible_column_cont_939100716":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1158003461":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_663228916":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_912630531":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1398138236":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1786318617":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1467213961":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1377146023":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnCount":12,":items":{"flexible_column_cont":{"id":"flexible-column-container-43361db94d","propertiesId":"hub-hero-breadcrumbs","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"id":"container-32f1076702","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"breadcrumb":{"id":"breadcrumb-c3f549e16c","items":[{"id":"breadcrumb-c3f549e16c-item-f710b50fc9","link":{"valid":true,"url":"/en/artificial-intelligence/machine-learning/"},"active":false,"current":false,"title":"Machine Learning",":type":"snowflake-site/components/structure/page","appliedCssClassNames":"summit-page"},{"id":"breadcrumb-c3f549e16c-item-0f2fad7189","link":{"valid":true,"url":"/en/artificial-intelligence/machine-learning/mlops/"},"active":false,"current":false,"title":"MLOps",":type":"snowflake-site/components/structure/page","appliedCssClassNames":"summit-page"},{"id":"breadcrumb-c3f549e16c-item-746161e1cc","link":{"valid":true,"url":"/en/artificial-intelligence/machine-learning/mlops/ai-data-pipelines/"},"active":true,"current":true,"title":"AI Data Pipelines",":type":"snowflake-site/components/structure/page","appliedCssClassNames":"summit-page"}],":type":"snowflake-site/components/breadcrumb"}},":itemsOrder":["breadcrumb"]},":type":"snowflake-site/components/flexible-column-container","isBlogPage":false,"isActiveTOC":false,"appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_939100716":{"id":"flexible-column-container-1859dd2608","propertiesId":"hub-hero","type":"2-column-even","alignColumns":"center","containerMaxWidth":"extra-large","topPadding":"extra-small","bottomPadding":"extra-small","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"id":"container-ec24d3d5d6","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"title_v2":{"id":"title-v2-fefcda6311","additionalClasses":"hub-hero__headline","type":"heading1","lines":["AI Data Pipelines: Why Data Consistency Matters as Much as the Model"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"},"text":{"id":"text-717adf3b02","additionalClasses":"hub-hero__subheadline","text":"\u003Cp\u003EAI data pipelines do more than move data into a model. They preserve the definitions, timing and history of model inputs so training, inference and retrieval stay aligned over time.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"container":{"additionalClasses":"hub-hero__authors","columnClassNames":{"content_chip_copy":"aem-GridColumn aem-GridColumn--default--12","content_chip":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","id":"container-2ed7a8987e","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container",":items":{"content_chip":{"id":"content-chip-be95ab8430","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/Laurie-Macpherson/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Read bio"},"image":{"id":"image","height":"800","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--a7e9fdff-6f08-4edc-9cd1-e213bb234aaa/laurie-macpherson.jpg?quality=85&preferwebp=true","isLcpImage":true,"alt":"Laurie MacPherson","lazyEnabled":true,"width":"800",":type":"snowflake-site/components/image"},"headline":{"id":"title","type":"heading5","lines":["Laurie MacPherson","Technical Writer, Snowflake"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip"},"content_chip_copy":{"id":"content-chip-86aa351976","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/david-gaule/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Read bio"},"image":{"id":"image","height":"512","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--fd9454ea-3b59-4d19-95be-534774cbd226/david.jpg?quality=85&preferwebp=true","isLcpImage":false,"alt":"David Gaule","lazyEnabled":true,"width":"512",":type":"snowflake-site/components/image"},"headline":{"id":"title","type":"heading5","lines":["David Gaule","Technical Editor, Snowflake"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip"}},":itemsOrder":["content_chip","content_chip_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"}},":itemsOrder":["title_v2","text","container"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},"flexible_column_content_container_2":{"additionalClasses":"hub-hero__video-column","id":"container-e91d91d7d3","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"youtube":{"id":"embed-562113a051","youtubeVideoId":"XwCnOsZMhyI","layout":"responsive","youtubeAspectRatio":"56.25","youtubeAutoPlay":false,"youtubeLoop":false,"youtubeMute":false,"youtubePlaysInline":false,"youtubeRel":false,"embeddableResourceType":"core/wcm/components/embed/v1/embed/embeddable/youtube","type":"EMBEDDABLE",":type":"snowflake-site/components/youtube"}},":itemsOrder":["youtube"]},":type":"snowflake-site/components/flexible-column-container","isBlogPage":false,"isActiveTOC":false,"appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_1398138236":{"id":"flexible-column-container-7869ea0bf5","propertiesId":"hub-hero-related-topics","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"extra-small","bottomPadding":"medium","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"additionalClasses":"related-topics-outer-container border-top","id":"container-e3b4aef820","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"text_894059747":{"id":"text-a30a109c73","additionalClasses":"seo-hub-hero__related-topic-label","text":"\u003Cp\u003EMLOps Topics:\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"text":{"id":"text-963ba38e8f","additionalClasses":"related-topics ","text":"\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/mlops/model-deployment/\"\u003EML Model Deployment\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/mlops/model-serving/\"\u003EML Model Serving\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/mlops/pipelines/\"\u003EML Pipelines\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small"}},":itemsOrder":["text_894059747","text"]},":type":"snowflake-site/components/flexible-column-container","isBlogPage":false,"isActiveTOC":false,"appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_663228916":{"id":"flexible-column-container-e24512b90c","propertiesId":"hub-body","type":"2-column-60-40","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"medium","bottomPadding":"medium","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"additionalClasses":"longform-content","id":"hub-body-content","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"callout__0":{"id":"text-b3f4aa0de3","additionalClasses":"callout callout--general","text":"\u003Cp\u003E\u003Cstrong\u003EAI DATA PIPELINE DEFINED\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EAn AI data pipeline is the data infrastructure that prepares and maintains the information an AI system depends on throughout its lifecycle, from historical training inputs to live features and retrieval data.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"text__0":{"id":"text-11517522b8","text":"\u003Cp\u003EChange a model’s weights, and a behavior shift is expected. Change the way a model’s inputs are defined upstream, and behavior often shifts in ways no one expects.\u003C/p\u003E\n\u003Cp\u003EProduction \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/\"\u003Eartificial intelligence\u003C/a\u003E systems must preserve the meaning of inputs across \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/model-training/\"\u003Etraining\u003C/a\u003E, \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/inference/\"\u003Einference\u003C/a\u003E and retrieval, even when those workloads operate on different time horizons and execution paths. AI data pipelines provide the infrastructure for keeping those relationships intact over time. They collect and prepare data while also preserving the definitions, history and lineage required to reproduce model inputs, detect meaningful changes in production data and keep training and serving aligned.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_what-is-an-ai-data-pipeline":{"id":"title-v2-4d824b5487","additionalClasses":"anchor-title anchor-title--what-is-an-ai-data-pipeline","type":"heading2","lines":["What is an AI data pipeline?"],":type":"snowflake-site/components/title-v2"},"text_what-is-an-ai-data-pipeline_0":{"id":"text-ea1b1d53d8","text":"\u003Cp\u003EAn AI data pipeline is an automated flow that collects, prepares and transforms raw data into inputs used by \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/\"\u003Emachine learning\u003C/a\u003E (ML) and \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/generative-ai/\"\u003Egenerative AI\u003C/a\u003E systems. Depending on the application, those inputs may include training data sets, features supplied during inference, documents prepared for retrieval and embeddings stored in a vector index.\u003C/p\u003E\r\n\u003Cp\u003EThe terms \u003Ci\u003EAI data pipeline\u003C/i\u003E and \u003Ci\u003EML data pipeline\u003C/i\u003E often overlap in practice, particularly when the pipeline supports both model training and inference. AI data pipelines cover a somewhat broader architectural range, however, since generative AI applications also rely on pipelines that prepare unstructured data for retrieval without training a model.\u003C/p\u003E\r\n\u003Cp\u003EAn ML data pipeline sits within a broader ML pipeline — the workflow around the model itself that includes training, evaluation, deployment and related machine learning operations (\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/mlops/\"\u003EMLOps\u003C/a\u003E) processes. The AI data pipeline is the data engineering layer supplying those processes with data.\u003C/p\u003E\r\n\u003Cp\u003EProduction problems frequently originate in the data layer. A training run might use data assembled with the wrong time window, for example, or a retrieval index might remain stale after its source documents change. The application continues operating even though its inputs no longer represent the intended state.\u003C/p\u003E\r\n\u003Cp\u003EThe quality of the data foundation has become a significant concern as organizations expand AI development. \u003Ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://www.gartner.com/en/newsroom/press-releases/2025-02-26-lack-of-ai-ready-data-puts-ai-projects-at-risk\"\u003EGartner\u003Csup\u003E®\u003C/sup\u003E predicted\u003C/a\u003E that “through 2026, organizations will abandon 60% of AI projects unsupported by&nbsp;\u003Ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://www.gartner.com/en/information-technology/topics/ai-readiness\"\u003EAI-ready data\u003C/a\u003E.”\u003Csup\u003E1\u003C/sup\u003E Whatever model sits at the end of the workflow, its inputs must be assembled, governed and kept current in order to produce accurate, useful results.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_how-ai-data-pipelines-differ-from-traditional-data-pipelines":{"id":"title-v2-0cef4edeb7","additionalClasses":"anchor-title anchor-title--how-ai-data-pipelines-differ-from-traditional-data-pipelines","type":"heading2","lines":["How AI data pipelines differ from traditional data pipelines"],":type":"snowflake-site/components/title-v2"},"text_how-ai-data-pipelines-differ-from-traditional-data-pipelines_0":{"id":"text-958d532306","text":"\u003Cp\u003EAI data pipelines build on familiar data engineering practices: ingestion, cleaning, transformation, validation and delivery. The distinction lies primarily in what consumes the output and which properties of that output influence system behavior.\u003C/p\u003E\n\u003Ch3\u003EThe consumer behaves differently\u003C/h3\u003E\n\u003Cp\u003EA person reviewing a dashboard often has some ability to interpret an unexpected result — a stale value or unusual field might prompt the person to ask a follow-up question or conduct an investigation. A model generally processes the input according to the statistical relationships learned during training, even when the meaning of a value has changed, and it may have no way of knowing something is amiss. For example, if a feature switches from kilometers to miles without a corresponding change in its definition, the model will process the value as though its meaning remains in kilometers.\u003C/p\u003E\n\u003Ch3\u003EThe output requires more historical context\u003C/h3\u003E\n\u003Cp\u003ETraditional pipelines commonly produce tables, streams, files and other data products for downstream systems or analysis. AI pipelines additionally prepare artifacts whose exact state influences model behavior, including training data sets, feature values and \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/feature-engineering/embeddings/\"\u003Eembeddings\u003C/a\u003E. For this reason, teams need enough history to determine which version of those inputs supported a particular model or application state.\u003C/p\u003E\n\u003Ch3\u003ETraining and serving follow different physical paths\u003C/h3\u003E\n\u003Cp\u003EA training workload might process years of historical data in batch, while an inference endpoint evaluates live events under a much tighter latency budget. The implementation differs even when both paths represent the same underlying feature or business concept.\u003C/p\u003E\n\u003Ch3\u003EObserved outcomes often feed future model work\u003C/h3\u003E\n\u003Cp\u003EPredictions, user interactions and eventual outcomes frequently return to the data environment for evaluation and later training. That feedback extends the pipeline beyond the initial delivery of data to the model.\u003C/p\u003E\n\u003Cp\u003EAs a result, engineering concerns extend beyond schema, data quality and delivery. Teams also need to preserve what an input means to the model, which historical version it represents and what information was available at the time it was produced.\u003C/p\u003E\n\u003Cp\u003E\u003Cem\u003ELearn how to build production-grade, AI-Ready data pipelines in this Snowflake Data Engineering Bootcamp:\u003C/em\u003E\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"yt_how-ai-data-pipelines-differ-from-traditional-data-pipelines_0":{"id":"embed-4ce70f1511","youtubeVideoId":"JPM7iim7WRk","layout":"responsive","youtubeAspectRatio":"56.25","youtubeAutoPlay":false,"youtubeLoop":false,"youtubeMute":false,"youtubePlaysInline":false,"youtubeRel":false,"embeddableResourceType":"core/wcm/components/embed/v1/embed/embeddable/youtube","type":"EMBEDDABLE",":type":"snowflake-site/components/youtube"},"title_the-stages-of-an-ai-data-pipeline":{"id":"title-v2-e46c5a9dd2","additionalClasses":"anchor-title anchor-title--the-stages-of-an-ai-data-pipeline","type":"heading2","lines":["The stages of an AI data pipeline"],":type":"snowflake-site/components/title-v2"},"text_the-stages-of-an-ai-data-pipeline_0":{"id":"text-b236fedf9c","text":"\u003Cp\u003EThe architecture varies by application, but most AI data pipelines include several recognizable stages.\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EIngestion:\u003C/strong\u003E Pipelines collect structured and semi-structured data from operational databases, event streams and other systems, along with unstructured sources such as documents, images and logs when the application requires them.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EPreparation and cleaning:\u003C/strong\u003E Transformations standardize formats, resolve missing values, handle outliers and prepare fields for downstream use. In an AI system, those choices form part of the input definition. Changing the way missing values are filled, for instance, changes what the model receives.\u003C/li\u003E\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/feature-engineering/\"\u003E\u003Cstrong\u003EFeature engineering\u003C/strong\u003E\u003C/a\u003E \u003Cstrong\u003Eor retrieval preparation:\u003C/strong\u003E For predictive ML, raw fields are transformed into features representing signals used during training and inference. Gen AI pipelines often perform a related set of operations on unstructured content by parsing documents, creating chunks and generating embeddings.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EData set assembly and versioning:\u003C/strong\u003E Training requires a reproducible view of the data used for a particular run. Snapshots, versioned data, time-travel capabilities or other mechanisms preserve the historical state needed to reconstruct that input later.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EServing:\u003C/strong\u003E Prepared features or retrieval data reach the live application under its latency and freshness requirements. Batch and real-time workloads frequently rely on different serving architectures.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EMonitoring and feedback:\u003C/strong\u003E Pipelines validate incoming data, track changes in distributions and freshness, and return relevant outcomes to evaluation or future training workflows.\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EConsider a churn model that uses account age, recent support activity and product usage as features. Historical values are assembled for training, each aligned to what would have been known at the time of the prediction. Once deployed, the inference service supplies corresponding values for active customers. Later, observed churn outcomes return to the data environment, where they support evaluation and future retraining.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_training-serving-skew-keeping-feature-logic-consistent":{"id":"title-v2-5730c19748","additionalClasses":"anchor-title anchor-title--training-serving-skew-keeping-feature-logic-consistent","type":"heading2","lines":["Training-serving skew: keeping feature logic consistent"],":type":"snowflake-site/components/title-v2"},"text_training-serving-skew-keeping-feature-logic-consistent_0":{"id":"text-8e8f86c293","text":"\u003Cp\u003EAmong the more difficult pipeline problems to diagnose is training-serving skew, the divergence between feature values used during training and the corresponding values supplied during production inference.\u003C/p\u003E\n\u003Cp\u003EThe problem rarely presents as an obvious failure. Suppose the training pipeline represents annual revenue as the full dollar amount, while the serving path expresses the same value in thousands of dollars. A customer with $500,000 in annual revenue would therefore appear as \u003Ccode\u003E500000\u003C/code\u003E during training and \u003Ccode\u003E500\u003C/code\u003E during inference. Both systems still produce valid numeric values, so the model continues scoring requests even though the feature no longer has the same meaning.\u003C/p\u003E\n\u003Cp\u003ESeparate implementations frequently create this condition. A data engineering job might calculate a feature against historical tables using SQL, while an application service reconstructs the concept against live data using another language. Over time, edge cases separate the implementations: one substitutes zero for a null while the other leaves it missing, for example, or one evaluates a date in UTC while the other uses local time.\u003C/p\u003E\n\u003Cp\u003EFor this reason, teams need a canonical feature definition that’s used consistently across training and serving. A \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/feature-engineering/feature-store/\"\u003Efeature store\u003C/a\u003E provides one established architecture for managing those definitions, storing historical feature values for training and delivering current values for inference. Smaller environments, particularly those running one or two batch models, often maintain consistency through shared transformations and disciplined version control without introducing a dedicated feature-store layer.\u003C/p\u003E\n\u003Cp\u003ETraining data also has to reflect what was known at the time each historical prediction would have been made, a requirement known as point-in-time correctness. Suppose a fraud model uses the number of chargebacks associated with an account. When reconstructing a training example for a transaction that occurred on March 1, the pipeline has to calculate that feature using only chargebacks recorded by March 1. A join against the account’s current record could include chargebacks recorded weeks later, giving the training process information that would have been unavailable at prediction time.\u003C/p\u003E\n\u003Cp\u003EUsing information that wouldn’t have been available at the time of the prediction is a form of temporal data leakage. The model effectively gets access to the future during training, which can make evaluation results look stronger than the performance it achieves in production.\u003C/p\u003E\n\u003Cp\u003E“\u003Ca href=\"https://proceedings.neurips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf\" target=\"_blank\"\u003EHidden Technical Debt in Machine Learning Systems,\u003C/a\u003E” a paper by Google researcher D. Sculley and colleagues, describes how sensitive ML systems can be to upstream input changes through what the authors call the CACE principle: Changing Anything Changes Everything. Changing the distribution of one input feature can affect how a model uses the others, and even correcting a previously miscalibrated input can disrupt a model that learned around the original values.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"callout_training-serving-skew-keeping-feature-logic-consistent_0":{"id":"text-9a65d55728","additionalClasses":"callout callout--tip","text":"\u003Cp\u003E\u003Cstrong\u003EQUICK TIP\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EDefine shared features once. Keep a canonical definition for each model-facing feature, then use that same logic across training and inference so differences in units, null handling or time logic don’t creep in between paths.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"title_governance-lineage-and-reproducibility":{"id":"title-v2-206f7a216d","additionalClasses":"anchor-title anchor-title--governance-lineage-and-reproducibility","type":"heading2","lines":["Governance, lineage and reproducibility"],":type":"snowflake-site/components/title-v2"},"text_governance-lineage-and-reproducibility_0":{"id":"text-d816a135c7","text":"\u003Cp\u003ESix months after a model enters production, a team investigating an unexpected regression should be able to answer a deceptively simple question: What data did this model train on?\u003C/p\u003E\n\u003Cp\u003EFor an AI pipeline, reproducibility provides a concrete test of the governance surrounding training data. Several records contribute:\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003ETraining history:\u003C/strong\u003E At minimum, teams need to connect the relevant data version, code version and training configuration to the model artifact produced by a run. Depending on the stack, that record also includes library versions, \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/feature-engineering/data-preprocessing/\"\u003Edata preprocessing\u003C/a\u003E configuration and environmental details that affect reproducibility. A table name alone provides very little evidence about what the model actually saw.\u003C/li\u003E\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/data-governance/data-lineage/\"\u003E\u003Cstrong\u003EData lineage\u003C/strong\u003E\u003C/a\u003E\u003Cstrong\u003E:\u003C/strong\u003E Training data often originates in several operational systems, passes through cleaning and feature transformations and joins against labels derived from later outcomes. Column-level lineage traces those dependencies through the pipeline. If an upstream team changes the definition of an account-status field, downstream owners have a way to identify affected features and training data sets before unexplained model behavior is the first visible signal.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EAccess history:\u003C/strong\u003E Governance also has to account for which data was permitted into training and retrieval workflows. Removing access to a source doesn’t alter a model that has already been trained using that source, so teams need records of the policies applied when the training data was assembled as well as procedures for responding when those policies change.\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EKeeping pipeline execution and governance close to the underlying data reduces the number of catalogs and policy surfaces teams have to reconcile. Model owners should be able to trace a deployed artifact back through its inputs without reconstructing that history manually across disconnected systems.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_monitoring-pipeline-inputs-and-triggering-retraining":{"id":"title-v2-4db22a9115","additionalClasses":"anchor-title anchor-title--monitoring-pipeline-inputs-and-triggering-retraining","type":"heading2","lines":["Monitoring pipeline inputs and triggering retraining"],":type":"snowflake-site/components/title-v2"},"text_monitoring-pipeline-inputs-and-triggering-retraining_0":{"id":"text-dea16f45ac","text":"\u003Cp\u003EPipeline monitoring tracks whether inputs still satisfy their expected schema, quality, freshness and statistical characteristics as changes happen over time. Different detection methods and responses are needed for different types of problems.\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EData quality and contract violations:\u003C/strong\u003E Schemas change, null rates jump, categories disappear and freshness service-level agreements (SLAs) slip. These conditions generally have explicit expectations, so validation checks placed near ingestion or transformation identify them before they propagate downstream.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EData drift:\u003C/strong\u003E A field might remain valid according to its schema while its statistical distribution changes substantially. Average transaction value rises, the customer mix shifts or a sensor starts reporting a different range of otherwise valid readings. Detecting that change requires comparing current observations with an appropriate reference distribution over enough data to distinguish a sustained shift from ordinary variation.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EConcept drift:\u003C/strong\u003E Here, the relationship between model inputs and the outcome has changed, but input monitoring alone can’t reveal the shift. Teams need labels or observed outcomes to determine whether the same features still predict the target in the same way.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ERetraining decisions:\u003C/strong\u003E When monitoring flags a change, teams usually investigate what caused it before deciding whether retraining is appropriate. Teams might repair a data problem, evaluate current model performance or begin a retraining workflow. Human review remains useful where a transient data incident could otherwise produce a model trained on a temporary anomaly.\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EResearch suggests that these changes over time are common enough to warrant intentional monitoring. In \u003Ca href=\"https://www.nature.com/articles/s41598-022-15245-z\" target=\"_blank\"\u003Ea 2022 study published in Scientific Reports\u003C/a\u003E, researchers evaluated 128 model-and-data set pairs across four industries and found temporal performance degradation in 91% of them. The finding applies to the study’s medical context rather than production ML generally, but it demonstrates how frequently model performance changed as the clinical data aged.\u003C/p\u003E\n\u003Cp\u003EModel metrics show how a model is performing. Pipeline monitoring supplies a different view: whether the inputs feeding that model still satisfy the assumptions and contracts the system expects.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"card_v2_monitoring-pipeline-inputs-and-triggering-retraining_0":{"id":"card-v2-ebdf83ba73","additionalClasses":"seo-customer","configurationStatus":{"configured":true,"message":""},":type":"snowflake-site/components/card-v2","title":{"id":"title","type":"heading4","lines":["Coinbase"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/customers/all-customers/video/coinbase/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Watch the customer story"},"image":{"id":"image","height":"351","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--bc2d7ba0-ef6c-4dbe-921b-3898970c8aa4/coinbase.png?quality=85&preferwebp=true","isLcpImage":false,"alt":"Coinbase","lazyEnabled":true,"width":"624",":type":"snowflake-site/components/image"},"type":"content-card","text":{"id":"text","text":"\u003Cp\u003ECoinbase uses Snowflake ML to simplify machine learning workflows and help data scientists move faster without sending data across separate platforms. By bringing feature engineering, model training, deployment and refreshes into Snowflake, Coinbase reduced ML workflow timelines from months to days or hours, improved productivity and governance, and enabled more timely insights for use cases such as product personalization, customer retention and platform experience.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"horizontal"},"title_data-pipeline-considerations-for-llm-and-rag-applications":{"id":"title-v2-bd0b4a527e","additionalClasses":"anchor-title anchor-title--data-pipeline-considerations-for-llm-and-rag-applications","type":"heading2","lines":["Data pipeline considerations for LLM and RAG applications"],":type":"snowflake-site/components/title-v2"},"text_data-pipeline-considerations-for-llm-and-rag-applications_0":{"id":"text-aa96a21813","text":"\u003Cp\u003E\u003Ca href=\"https://www.snowflake.com/en/fundamentals/large-language-model/\"\u003ELarge language model\u003C/a\u003E (LLM) applications shift much of the pipeline work toward unstructured content. A \u003Ca href=\"https://www.snowflake.com/en/fundamentals/rag/\"\u003ERAG\u003C/a\u003E pipeline typically parses source documents, splits them into chunks, generates embeddings and writes the resulting vectors and metadata to an index used during retrieval.\u003C/p\u003E\n\u003Cp\u003ESeveral design decisions in that pipeline directly affect the information available to the application:\u003C/p\u003E\n\u003Ch3\u003EChunking\u003C/h3\u003E\n\u003Cp\u003EChunk boundaries determine what information the retrieval system treats as a unit. Very small chunks often strip statements from surrounding context, while very large chunks combine several topics and reduce retrieval precision. Document structure, retrieval method and expected user questions all influence the appropriate strategy.\u003C/p\u003E\n\u003Ch3\u003EFreshness\u003C/h3\u003E\n\u003Cp\u003EWhen a source document changes, its derived chunks and indexed representation need corresponding updates. Otherwise retrieval continues surfacing an earlier version even though the source itself is current. Freshness therefore has a correctness dimension in addition to the usual latency requirement.\u003C/p\u003E\n\u003Ch3\u003EEmbedding versioning\u003C/h3\u003E\n\u003Cp\u003ESwitching embedding models typically requires re-embedding the indexed corpus because vectors produced by different models generally occupy different representation spaces. Recording the embedding model as part of the pipeline version helps coordinate source data, chunking logic, vector generation and index state during a migration.\u003C/p\u003E\n\u003Ch3\u003EGovernance\u003C/h3\u003E\n\u003Cp\u003EDocuments often contain multiple subjects, sensitivity levels or embedded identifiers within the same file, while chunking produces additional derived artifacts. Access metadata and lineage therefore need to follow the content through ingestion, transformation and retrieval rather than ending at the source document.\u003C/p\u003E\n\u003Cp\u003EThese concerns sit in the data layer even though users experience their effects through the LLM. Retrieval quality depends partly on the model, but it also reflects how source content was prepared, refreshed, indexed and governed before a model call occurred.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_building-and-operating-ai-data-pipelines":{"id":"title-v2-d2bd908f5e","additionalClasses":"anchor-title anchor-title--building-and-operating-ai-data-pipelines","type":"heading2","lines":["Building and operating AI data pipelines"],":type":"snowflake-site/components/title-v2"},"text_building-and-operating-ai-data-pipelines_0":{"id":"text-6c33f75f0f","text":"\u003Cp\u003EOnce the core data contracts are defined, day-to-day reliability depends on how teams build and operate the pipeline itself.\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003EUse declarative pipelines where they fit:\u003C/strong\u003E Defining the desired result and allowing the platform to manage incremental refresh reduces orchestration code and the risk of separate backfill, scheduled and streaming paths implementing different transformation behavior.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ETreat pipeline definitions as code:\u003C/strong\u003E Version control, peer review, automated transformation tests and staged promotion give pipeline changes the same engineering discipline applied to application code. A changed feature or transformation then has a reviewable history tied to its deployment.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EMake ownership explicit:\u003C/strong\u003E Data engineers typically own pipeline reliability and operation, while data scientists or ML engineers often own model-specific semantics. The contract between those roles needs an owner as well. A concept such as “30-day active usage,” for example, should map to an agreed transformation used wherever that input appears.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003ELimit unnecessary data movement:\u003C/strong\u003E Every additional copy creates another location where transformation logic, versions and access policies have to remain synchronized. Some architectures require specialized serving or accelerator environments elsewhere, but each additional path adds an operational consistency requirement.\u003C/li\u003E\n\u003C/ul\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_building-ai-data-pipelines-with-snowflake":{"id":"title-v2-62bf0aac12","additionalClasses":"anchor-title anchor-title--building-ai-data-pipelines-with-snowflake","type":"heading2","lines":["Building AI data pipelines with Snowflake"],":type":"snowflake-site/components/title-v2"},"text_building-ai-data-pipelines-with-snowflake_0":{"id":"text-4a82ffeb80","text":"\u003Cp\u003ESnowflake brings data engineering, machine learning and AI workloads closer to the governed data they depend on, which reduces the number of separate systems teams have to keep synchronized. Rather than reproducing feature logic, access policies or pipeline state across several platforms, teams can use Snowflake capabilities across different stages of the pipeline.\u003C/p\u003E\n\u003Cp\u003EFor gen AI applications, \u003Ca href=\"https://www.snowflake.com/en/blog/cortex-search-ai-hybrid-search/\"\u003ECortex Search\u003C/a\u003E handles retrieval over enterprise data, while the surrounding pipeline still controls how source content is prepared and refreshed. Snowflake also supports \u003Ca href=\"https://www.snowflake.com/en/product/features/cortex/\"\u003ECortex AI\u003C/a\u003E functions within Dynamic Tables, so AI processing can run as part of an incrementally refreshed pipeline.\u003C/p\u003E\n\u003Cp\u003E\u003Ca href=\"https://www.snowflake.com/en/developers/guides/advanced-guide-to-snowflake-feature-store/\"\u003ESnowflake Feature Store\u003C/a\u003E gives teams a governed place to define and manage features used in training and inference, which fits directly with the training-serving consistency problem we discussed earlier.\u003C/p\u003E\n\u003Cp\u003E\u003Ca href=\"https://www.snowflake.com/en/product/features/horizon/\"\u003EHorizon Catalog\u003C/a\u003E provides lineage, data quality monitoring, discovery and governance across data and AI assets, giving teams more of the history needed to trace model inputs and pipeline dependencies.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_ai-reliability-depends-on-the-data-pipeline":{"id":"title-v2-78a7b99e33","additionalClasses":"anchor-title anchor-title--ai-reliability-depends-on-the-data-pipeline","type":"heading2","lines":["AI reliability depends on the data pipeline"],":type":"snowflake-site/components/title-v2"},"text_ai-reliability-depends-on-the-data-pipeline_0":{"id":"text-71c02005e2","text":"\u003Cp\u003EA model’s behavior is shaped long before inference begins. Feature definitions, historical joins, source versions, refresh logic and retrieval indexes all influence what the system sees, which means changes upstream can alter behavior even when the model itself hasn’t changed.\u003C/p\u003E\n\u003Cp\u003EPart of AI reliability depends directly on the data engineering discipline. Teams need to know which inputs a model received, how those inputs were produced and whether the same assumptions still hold in production. With that record intact, debugging a model stops being an exercise in reconstructing the past and starts with something much more useful: a traceable account of what the system actually saw.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"callout_ai-reliability-depends-on-the-data-pipeline_0":{"id":"text-2c2897c6c3","additionalClasses":"callout callout--general","text":"\u003Cp\u003E\u003Cstrong\u003EKEY TAKEAWAY\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EA model can change behavior even when its code and weights stay the same. Reliable AI depends on keeping upstream data definitions, historical state and serving logic consistent and traceable.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"text_ai-reliability-depends-on-the-data-pipeline_1":{"id":"text-bc95b39fac","text":"\u003Cp\u003E&nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Csup\u003E1. Gartner Press Release, Lack of AI-Ready Data Puts AI Projects at Risk, February 26, 2025. GARTNER is a trademark of Gartner, Inc. and/or its affiliates.\u003C/sup\u003E\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"}},":itemsOrder":["callout__0","text__0","title_what-is-an-ai-data-pipeline","text_what-is-an-ai-data-pipeline_0","title_how-ai-data-pipelines-differ-from-traditional-data-pipelines","text_how-ai-data-pipelines-differ-from-traditional-data-pipelines_0","yt_how-ai-data-pipelines-differ-from-traditional-data-pipelines_0","title_the-stages-of-an-ai-data-pipeline","text_the-stages-of-an-ai-data-pipeline_0","title_training-serving-skew-keeping-feature-logic-consistent","text_training-serving-skew-keeping-feature-logic-consistent_0","callout_training-serving-skew-keeping-feature-logic-consistent_0","title_governance-lineage-and-reproducibility","text_governance-lineage-and-reproducibility_0","title_monitoring-pipeline-inputs-and-triggering-retraining","text_monitoring-pipeline-inputs-and-triggering-retraining_0","card_v2_monitoring-pipeline-inputs-and-triggering-retraining_0","title_data-pipeline-considerations-for-llm-and-rag-applications","text_data-pipeline-considerations-for-llm-and-rag-applications_0","title_building-and-operating-ai-data-pipelines","text_building-and-operating-ai-data-pipelines_0","title_building-ai-data-pipelines-with-snowflake","text_building-ai-data-pipelines-with-snowflake_0","title_ai-reliability-depends-on-the-data-pipeline","text_ai-reliability-depends-on-the-data-pipeline_0","callout_ai-reliability-depends-on-the-data-pipeline_0","text_ai-reliability-depends-on-the-data-pipeline_1"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium"},"flexible_column_content_container_2":{"additionalClasses":"hub-sidebar","id":"hub-body-aside","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sticky-sidebar","columnClassNames":{"text_943981956_copy_":"aem-GridColumn aem-GridColumn--default--12","text_copy":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","id":"container-371edb95f1","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container",":items":{"text_943981956_copy_":{"id":"text-f9fa3d9c82","additionalClasses":"eyebrow-text","text":"\u003Cp\u003EIn This Guide\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular"},"text_copy":{"id":"text-5ab2a305b9","additionalClasses":"page-toc","text":"\u003Cul\u003E\u003Cli data-anchor=\"what-is-an-ai-data-pipeline\"\u003EWhat is an AI data pipeline?\u003C/li\u003E\u003Cli data-anchor=\"how-ai-data-pipelines-differ-from-traditional-data-pipelines\"\u003EHow AI data pipelines differ from traditional data pipelines\u003C/li\u003E\u003Cli data-anchor=\"the-stages-of-an-ai-data-pipeline\"\u003EThe stages of an AI data pipeline\u003C/li\u003E\u003Cli data-anchor=\"training-serving-skew-keeping-feature-logic-consistent\"\u003ETraining-serving skew: keeping feature logic consistent\u003C/li\u003E\u003Cli data-anchor=\"governance-lineage-and-reproducibility\"\u003EGovernance, lineage and reproducibility\u003C/li\u003E\u003Cli data-anchor=\"monitoring-pipeline-inputs-and-triggering-retraining\"\u003EMonitoring pipeline inputs and triggering retraining\u003C/li\u003E\u003Cli data-anchor=\"data-pipeline-considerations-for-llm-and-rag-applications\"\u003EData pipeline considerations for LLM and RAG applications\u003C/li\u003E\u003Cli data-anchor=\"building-and-operating-ai-data-pipelines\"\u003EBuilding and operating AI data pipelines\u003C/li\u003E\u003Cli data-anchor=\"building-ai-data-pipelines-with-snowflake\"\u003EBuilding AI data pipelines with Snowflake\u003C/li\u003E\u003Cli data-anchor=\"ai-reliability-depends-on-the-data-pipeline\"\u003EAI reliability depends on the data pipeline\u003C/li\u003E\u003C/ul\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-05"}},":itemsOrder":["text_943981956_copy_","text_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium"}},":itemsOrder":["container"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-small"},":type":"snowflake-site/components/flexible-column-container","isBlogPage":false,"isActiveTOC":false},"flexible_column_cont_1786318617":{"id":"flexible-column-container-519c98367f","propertiesId":"hub-faq","type":"2-column-40-60","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"large","bottomPadding":"large","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"id":"hub-faq-intro","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"title_v2_copy":{"id":"title-v2-409d968543","additionalClasses":"hub-faq__headline","type":"heading2","lines":["Frequently Asked Questions"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"},"text_copy":{"id":"text-64fe1f96a7","additionalClasses":"hub-faq__subheadline","text":"\u003Cp\u003EYour common questions about AI data pipelines, answered by Snowflake experts.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"}},":itemsOrder":["title_v2_copy","text_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},"flexible_column_content_container_2":{"id":"hub-faq-accordions","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"simple_snowflake_acc":{"id":"simple-snowflake-accordion-de4021f4c3","additionalClasses":"seo-hub__faqs","showDivider":false,"accordionItemsList":[{"title":"Can AI create data pipelines?","richText":"\u003Cp\u003EAI-assisted development tools increasingly help generate transformation code, infer schema mappings and suggest tests. Human review still owns the semantics: which source represents the correct business concept, how a field should be interpreted and whether a transformation produces the intended result.\u003C/p\u003E"},{"title":"Do you need a feature store to build an AI data pipeline?","richText":"\u003Cp\u003ETeams need consistent feature logic across training and inference. A feature store provides a standard architecture for defining, managing and serving those features, especially when many models share them or production inference has low-latency requirements. But smaller teams running a limited number of batch models often maintain consistency through shared transformations, version control and reproducible data pipelines instead.\u003C/p\u003E"}],":type":"snowflake-site/components/simple-snowflake-accordion"}},":itemsOrder":["simple_snowflake_acc"]},":type":"snowflake-site/components/flexible-column-container","isBlogPage":false,"isActiveTOC":false,"appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_1467213961":{"id":"flexible-column-container-adb3e4cd93","propertiesId":"hub-explore-resources-header","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"large","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"id":"container-22f0409c83","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"title_v2":{"id":"title-v2-000137300d","additionalClasses":"hub-explore-resources-header__headline","type":"heading2","lines":["Explore AI Resources"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"}},":itemsOrder":["title_v2"]},":type":"snowflake-site/components/flexible-column-container","isBlogPage":false,"isActiveTOC":false,"appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_912630531":{"id":"flexible-column-container-3ee14020bf","propertiesId":"hub-explore-resources-grid","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"large","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"id":"hub-explore-resources-grid-inner","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"resource_chip_0":{"id":"content-chip-72d7be5cfe","tagText":"BLOG","tagColor":"#71D3DC","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/blog/ai-smart-pipelines-whats-new/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Read more"},"headline":{"id":"title-v2-f58e7d08aa","type":"heading5","lines":["Data Engineering in the AI Era: New Snowflake Tools Built for Smart Pipelines"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"},"resource_chip_1":{"id":"content-chip-31d52f6d00","tagText":"BLOG","tagColor":"#71D3DC","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/blog/data-development-simple-as-prompt/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Read more"},"headline":{"id":"title-v2-bc9a37a8ee","type":"heading5","lines":["Simplify the Entire Data Development Lifecycle"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"},"resource_chip_2":{"id":"content-chip-b5d750cc60","tagText":"EBOOK","tagColor":"#71D3DC","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/ebook/build-pipelines-for-ai-an-essential-guide-to-smarter-data-engineering/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Read more"},"headline":{"id":"title-v2-b79f15a4d3","type":"heading5","lines":["Build Pipelines for AI: An Essential Guide to Smarter Data Engineering"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"},"resource_chip_3":{"id":"content-chip-0b6ff8cc25","tagText":"WEBINAR","tagColor":"#29B5E8","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/webinars/virtual-hands-on-lab/mlops-i-feature-store-and-model-registry-2026-02-25/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_EXTERNAL","text":"Watch now"},"headline":{"id":"title-v2-8d1a917032","type":"heading5","lines":["MLOps I: Feature Store and Model Registry"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"}},":itemsOrder":["resource_chip_0","resource_chip_1","resource_chip_2","resource_chip_3"]},":type":"snowflake-site/components/flexible-column-container","isBlogPage":false,"isActiveTOC":false,"appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_1158003461":{"id":"flexible-column-container-f0c2754540","propertiesId":"hub-explore-topics-header","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"large","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"id":"container-e6df1cad73","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"title_v2_copy_copy":{"id":"title-v2-59cdb8ea07","additionalClasses":"hub-explore-topics-header__headline","type":"heading2","lines":["Explore AI Topics"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"},"text_copy_copy":{"id":"text-0ec4b8060f","additionalClasses":"hub-explore-topics-header__subheadline","text":"\u003Cp\u003EDeep dives into every aspect of artificial intelligence\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"}},":itemsOrder":["title_v2_copy_copy","text_copy_copy"],"appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small"},":type":"snowflake-site/components/flexible-column-container","isBlogPage":false,"isActiveTOC":false,"appliedCssClassNames":"snowflake-flexible-column-container-white-bg"},"flexible_column_cont_1377146023":{"id":"flexible-column-container-3dcc135b6d","propertiesId":"hub-explore-topics-grid","type":"3-column-even","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"large","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"id":"container-5840c1bd84","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"topic_card_0":{"id":"card-v2-9f6b7c3091","configurationStatus":{"configured":true,"message":""},":type":"snowflake-site/components/card-v2","title":{"id":"title","type":"heading4","lines":["Model Deployment"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/artificial-intelligence/machine-learning/mlops/model-deployment/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Learn more"},"type":"content-card","text":{"id":"text","text":"\u003Cp\u003EThe release process that moves a trained, validated model into a production environment.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"vertical"}},":itemsOrder":["topic_card_0"]},"flexible_column_content_container_2":{"id":"container-43c90da559","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"topic_card_1":{"id":"card-v2-e1d9895502","configurationStatus":{"configured":true,"message":""},":type":"snowflake-site/components/card-v2","title":{"id":"title","type":"heading4","lines":["ML Inference"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/artificial-intelligence/machine-learning/inference/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Learn more"},"type":"content-card","text":{"id":"text","text":"\u003Cp\u003EThe act of generating predictions from a trained model on real input data.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"vertical"}},":itemsOrder":["topic_card_1"]},"flexible_column_content_container_3":{"id":"container-9fd1c2d5a2","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"topic_card_2":{"id":"card-v2-66b2835daa","configurationStatus":{"configured":true,"message":""},":type":"snowflake-site/components/card-v2","title":{"id":"title","type":"heading4","lines":["Model Monitoring"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/artificial-intelligence/observability/model-monitoring/"},"linkTargetContentType":"GENERIC",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Learn more"},"type":"content-card","text":{"id":"text","text":"\u003Cp\u003ETracking a production model's accuracy, drift, latency and business impact after deployment.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"vertical"}},":itemsOrder":["topic_card_2"]},":type":"snowflake-site/components/flexible-column-container","isBlogPage":false,"isActiveTOC":false,"appliedCssClassNames":"snowflake-flexible-column-container-white-bg"}},":itemsOrder":["flexible_column_cont","flexible_column_cont_939100716","flexible_column_cont_1398138236","flexible_column_cont_663228916","flexible_column_cont_1786318617","flexible_column_cont_1467213961","flexible_column_cont_912630531","flexible_column_cont_1158003461","flexible_column_cont_1377146023"],":type":"wcm/foundation/components/responsivegrid"},"modal_container":{"id":"container-8ac2087abf","layout":"SIMPLE",":type":"snowflake-site/components/modal/modal-container",":items":{},":itemsOrder":[]},"markup_editor_928258845":{"id":"markup-editor-18b28bbc3b","title":" ","cssContent":".snowflake-flexible-column-container-gray-10-bg\u003E.snowflake-flexible-column-container{background-color:var(--ui-background-05) !important}.text-size-regular:has(.seo-hub-hero__related-topic-label){display:flex;align-items:center}.hub-hero__headline span{text-transform:none !important}.hub-hero__subheadline p{max-width:70ch;margin-top:8px}.hub-hero__authors \u003E .container \u003E .cmp-container \u003E .aem-container{display:flex;flex-direction:row}.hub-hero__authors \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div{width:auto !important;margin:24px 48px 0 0 !important}.hub-hero__authors .heading-5-v2{gap:var(--spacing-00)}.hub-hero__authors .snowflake-content-chip-button{display:none !important}.hub-hero__authors .snowflake-person-chip-content .body-2,.hub-hero__authors .snowflake-content-chip-content .snowflake-title-v2-line{font-size:16px !important;line-height:20px !important;font-family:\"Lato\",sans-serif !important;color:#000 !important;font-weight:600 !important}.hub-hero__authors .snowflake-person-chip-content .body-3,.hub-hero__authors .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child){font-weight:400 !important;color:var(--text-05) !important;font-size:16px !important}.hub-hero__authors .snowflake-image-container img{aspect-ratio:1 !important;border-radius:100%;overflow:hidden}.hub-hero__authors .snowflake-person-chip-avatar{width:56px;height:56px}.hub-hero__authors .snowflake-content-chip{align-items:center;display:inline-flex}.hub-hero__authors .snowflake-content-chip-image{max-width:56px;line-height:0;margin-right:var(--spacing-03)}.hub-hero__authors .snowflake-person-chip-inner-horizontal{gap:var(--spacing-03)}@media screen and (min-width:1367px){.hub-hero__headline .heading-1-v2{font-size:48px;line-height:44px}}#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:24px}#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container::before,#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container::after{display:none}#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(25% - 18px)}.text-color-text-05 .snowflake-text h2,.text-color-text-05.cq-Editable-dom h2,.text-color-text-05 .snowflake-text h3,.text-color-text-05.cq-Editable-dom h3,.text-color-text-05 .snowflake-text h4,.text-color-text-05.cq-Editable-dom h4,.text-color-text-05 .snowflake-text h5,.text-color-text-05.cq-Editable-dom h5,.text-color-text-05 .snowflake-text h6,.text-color-text-05.cq-Editable-dom h6{color:#000 !important}",":type":"snowflake-site/components/markup-editor","isGSAPEnabled":false},"markup_editor_597730182":{"id":"markup-editor-876addbf73","title":" ","cssContent":".sf-copy-markdown [data-copy-md]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-family:'Texta',sans-serif;text-transform:uppercase;font-weight:800 !important;font-size:14px;font-weight:500;color:#11567f;background:#f0faff;border:1px solid #b8e6f9;border-radius:24px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.sf-copy-markdown [data-copy-md]:hover{background:#ddf3fc;border-color:#29b5e8}.sf-copy-markdown [data-copy-md][data-copied=\"1\"]{color:#0f7b3e;background:#ecfdf5;border-color:#6ee7a0;pointer-events:none}.sf-copy-markdown [data-copy-md] svg{flex-shrink:0}.longform-conten .snowflake-content-chip-white-bg .snowflake-content-chip{box-shadow:0 0 24px 4px rgba(0,0,0,.02),0 4px 8px 0 rgba(0,0,0,.04);flex-direction:row-reverse;align-items:center}.longform-conten .snowflake-content-chip-button{display:none}.longform-conten .snowflake-content-chip-image__inner{aspect-ratio:5 / 3;display:flex;justify-content:center;align-items:center;background-color:var(--ui-01);border-radius:4px}.longform-conten .snowflake-content-chip-image{margin-right:0;margin-left:48px}.longform-conten .snowflake-content-chip-image img{width:50%;border-radius:0 !important;object-fit:contain}.longform-content .black-blue-text-color .snowflake-title-v2-line:not(:first-child){font-size:14px !important;font-weight:400 !important;color:rgba(0,0,0,.6) !important;margin-top:8px !important}.page-toc ul li:first-child{padding-top:0 !important}.page-toc ul li:last-child{padding-bottom:0 !important}.seo-hub__top-bar \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div:first-child{flex-grow:1}.sf-copy-markdown{margin-top:40px !important}.page-toc ul{margin-top:16px !important}.seo-hub__top-bar \u003E .container \u003E .cmp-container \u003E .aem-container{display:flex;justify-content:space-between}.sf-copy-markdown{}.callout.snowflake-text p:not(:first-child){margin-top:var(--spacing-01)}.callout \u003E span \u003E p:first-child \u003E strong,.callout \u003E span \u003E p:first-child \u003E b{text-transform:uppercase;font-family:'Texta',sans-serif;font-size:16px !important;color:var(--ui-01) !important}.seo-hub-hero__subheadline p{max-width:50ch}.tag-group ul{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:row;row-gap:12px;column-gap:8px;align-items:center;flex-wrap:wrap}.tag-group ul li:first-child{flex-shrink:0}.tag-group ul li a{display:inline-block;padding:2px 12px;border-radius:48px;background-color:#ededed;color:#666;font-size:14px !important}@media screen and (min-width:1367px){.seo-hub-hero__headline span.snowflake-title-v2-line{font-size:56px !important}}.callout.snowflake-text p:not(:first-child){margin-top:var(--spacing-01)}.callout \u003E span \u003E p:first-child \u003E b{text-transform:uppercase;font-family:'Texta',sans-serif;font-size:16px !important;color:var(--ui-01) !important}.seo-hub-hero__subheadline p{max-width:80ch}#hero:has(.snowflake-youtube-lite) .seo-hub-hero__subheadline p{max-width:50ch}.tag-group ul{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:row;row-gap:12px;column-gap:8px;align-items:center;flex-wrap:wrap}.tag-group ul li:first-child{width:100%;flex-shrink:0}.tag-group ul li a{display:inline-block;padding:2px 12px;border-radius:48px;background-color:#ededed;color:#666;font-size:14px !important}@media screen and (min-width:1367px){.seo-hub-hero__headline span.snowflake-title-v2-line{font-size:56px !important}}",":type":"snowflake-site/components/markup-editor","isGSAPEnabled":false},"markup_editor":{"id":"markup-editor-17b8d4877d","title":" ","cssContent":"div.snowflake-breadcrumb a.snowflake-breadcrumb-item,.snowflake-breadcrumb div.snowflake-breadcrumb-item{text-transform:none;font-weight:500}.snowflake-breadcrumb svg{display:none !important}.snowflake-breadcrumb a:has(svg)::after{content:'/';margin:0 12px;color:#666}.hub-sidebar{padding:0 40px}.sticky-sidebar{max-width:340px;margin-left:auto}.page-toc ul{list-style-type:none;padding:0}.page-toc li{padding:8px 16px;border-left:4px solid var(--ui-01);cursor:pointer;transition:300ms ease all}.page-toc li:hover{color:var(--ui-01);border-color:#7fd3f1;transition:300ms ease all}.callout,.customer-card{background-color:#eef9fd;border-left:4px solid var(--ui-01);padding:24px 24px 24px 32px;border-radius:4px}.logo-container{max-width:180px}.longform-content li{margin-top:1rem !important}div.longform-content p{max-width:80ch}.bolder .snowflake-title-v2-line{font-weight:900 !important}.border-top\u003Ediv{border-top:1px solid #ccc;padding-top:48px}.related-topics ul{list-style-type:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}.related-topics li{display:inline-block;border:1px solid #ccc;padding:4px 12px;border-radius:24px}div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2,div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2,div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2,div.longform-content .snowflake-text h6,div.longform-content .snowflake-title-v2 .heading-6-v2,div.longform-content .snowflake-text .heading-6-v2{text-transform:none !important}div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2{margin-top:1.5rem !important;line-height:1.1 !important}div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2,div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2,div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2,div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2,div.longform-content .snowflake-title-v2 .heading-6-v2{font-family:Lato,sans-serif !important;font-weight:800 !important}div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-title-v2 .heading-2-v2{text-transform:none !important;font-size:28px !important}div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2{font-size:22px !important}div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2{font-size:18px !important}div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2{font-size:16px !important}div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2,div.longform-content .snowflake-title-v2 .heading-6-v2{font-size:14px !important}@media screen and (min-width:992px){div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-title-v2 .heading-2-v2{font-size:38px !important}div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2{font-size:26px !important}div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2{font-size:22px !important}div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2{font-size:18px !important}div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2,div.longform-content .snowflake-title-v2 .heading-6-v2{font-size:16px !important}}.sticky-sidebar .page-toc li.is-active{font-weight:600;color:var(--snow-blue,#29b5e8)}.sticky-sidebar .page-toc li[data-anchor]{cursor:pointer}.longform-content table{margin-top:24px;margin-bottom:24px;width:100%;background-color:var(--ui-background-01);border-collapse:collapse;border:2px solid var(--ui-background-09);font-family:'Lato',sans-serif;color:var(--ui-background-09)}.longform-content table thead{background-color:var(--ui-01)}.longform-content th,.longform-content td{min-width:120px;border:2px solid var(--ui-background-09);padding:var(--spacing-01)}.longform-content ol{margin-top:0 !important}.longform-content ol li{margin-bottom:1rem !important}.longform-content ul li{margin:0;padding:0 0 0 32px;position:relative}.longform-content ul{list-style-type:none}.longform-content ul li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.seo-customer.snowflake-card-v2-advanced-horizontal .snowflake-card-v2-advanced-image-container{max-width:200px}.seo-customer.snowflake-card-v2-advanced-horizontal .snowflake-card-v2-advanced-image-container img{object-fit:contain}.related-topics-outer-container \u003E .container \u003E .cmp-container \u003E .aem-container{display:flex;flex-direction:row}.related-topics-outer-container \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div{width:auto !important;margin:0 !important}.related-topics-outer-container \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div:first-child{margin-right:16px !important;flex-shrink:0}","jsContent":"(function(){var OFFSET=100;if(window.gsap&&window.ScrollTrigger){gsap.registerPlugin(ScrollTrigger);var sidebar=document.querySelector('.sticky-sidebar');var body=document.querySelector('.longform-content');if(sidebar&&body){ScrollTrigger.create({trigger:sidebar,start:'top 100px',endTrigger:body,end:'bottom bottom',pin:sidebar,pinSpacing:false});}}document.addEventListener('click',function(e){var li=e.target.closest('li[data-anchor]');if(!li)return;var slug=li.getAttribute('data-anchor');var heading=document.querySelector('.anchor-title--'+CSS.escape(slug));if(!heading)return;e.preventDefault();var top=heading.getBoundingClientRect().top+window.pageYOffset-OFFSET;window.scrollTo({top:top,behavior:'smooth'});history.replaceState(null,'','#'+slug);},false);var headings=document.querySelectorAll('[class*=\"anchor-title--\"]');if(headings.length&&'IntersectionObserver'in window){var io=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(!entry.isIntersecting)return;var cls=Array.from(entry.target.classList).find(function(c){return c.indexOf('anchor-title--')===0;});if(!cls)return;var slug=cls.replace('anchor-title--','');document.querySelectorAll('li[data-anchor]').forEach(function(li){li.classList.toggle('is-active',li.getAttribute('data-anchor')===slug);});});},{rootMargin:'-20% 0px -70% 0px',threshold:0});headings.forEach(function(h){io.observe(h);});}})();",":type":"snowflake-site/components/markup-editor","isGSAPEnabled":true},"experiencefragment-footer":{"id":"experiencefragment-675dcf7bea","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master.xfmodel.json"},"experiencefragment":{"id":"experiencefragment-e026c42f10","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer-legal-disclaimers/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer-legal-disclaimers/master.xfmodel.json"}},":itemsOrder":["experiencefragment-banner","experiencefragment-header","responsivegrid","modal_container","markup_editor_928258845","markup_editor_597730182","markup_editor","experiencefragment-footer","experiencefragment"],":type":"wcm/foundation/components/responsivegrid"}},":itemsOrder":["root"],":hierarchyType":"page",":path":"/content/snowflake-site/global/en/artificial-intelligence/machine-learning/mlops/ai-data-pipelines","analyticsContentTags":["snowflake-site:taxonomy/product/data-engineering"],"analyticsEnabled":true,"coveoConfig":{"pipeline":"snowflake.com","searchHub":"snowflake.com","organizationId":"snowflakecomputingproduction8neljofn","apiKey":"xx335921a6-2a0a-40f2-a167-e390b4766c3d"},"isPasswordProtected":false,"analyticsDebugMode":false,"analyticsData":{"excludeFromAnalytics":false,"subCategory":"","pageType":"homepage","templateName":"base-page-template54","siteName":"snowflake","pageUrl":"/content/snowflake-site/global/en/artificial-intelligence/machine-learning/mlops/ai-data-pipelines","language":"en","category":"general","pageName":"AI Data Pipelines: Why Data Consistency Matters as Much as the Model","contentTags":["snowflake-site:taxonomy/product/data-engineering"]},"locale":"en"}
  