Цей допис написано спільно з Мін (Мелвін) Цін, Девідом Берікатом і Бредом Женеро з NVIDIA.
Дослідникам і розробникам штучного інтелекту для обробки медичних зображень потрібна масштабована корпоративна структура для створення, розгортання та інтеграції своїх програм ШІ. AWS і NVIDIA об’єдналися, щоб втілити це бачення в реальність. AWS, NVIDIA та інші партнери створювати додатки та рішення, щоб зробити охорону здоров’я доступнішою, дешевшою та ефективнішою за рахунок прискорення хмарного підключення корпоративних зображень. Розгортання MONAI є одним із ключових модулів МОНАЙ (Відкрита медична мережа для штучного інтелекту), розроблена консорціумом академічних і галузевих лідерів, включаючи NVIDIA. AWS HealthImaging (AHI) — це високомасштабований, ефективний і економічно ефективний магазин медичних зображень, який відповідає вимогам HIPAA. Ми розробили конектор MONAI Deploy для AHI для інтеграції додатків AI для медичних зображень із субсекундною затримкою отримання зображень у великому масштабі на основі вбудованих у хмару API. Моделі та додатки MONAI AI можна розміщувати Amazon SageMaker, який є повністю керованим сервісом для масштабного розгортання моделей машинного навчання (ML). SageMaker піклується про налаштування екземплярів для висновків і керування ними, а також надає вбудовані показники та журнали для кінцевих точок, які можна використовувати для моніторингу та отримання сповіщень. Він також пропонує різноманітність Екземпляри NVIDIA GPU для логічного висновку, а також кілька варіантів розгортання моделі з автоматичним масштабуванням, у тому числі висновок у реальному часі, безсерверний висновок, асинхронний висновок та пакетне перетворення.
У цій публікації ми демонструємо, як розгорнути пакет програм MONAI (MAP) із з’єднувачем для AWS HealthImaging, використовуючи мультимодельну кінцеву точку SageMaker для висновків у реальному часі та асинхронних висновків. Ці два варіанти охоплюють більшість випадків використання конвеєра висновків для медичного зображення в майже реальному часі.
Огляд рішення
Наступна діаграма ілюструє архітектуру рішення.
Передумови
Виконайте такі необхідні кроки:
- Використовуйте обліковий запис AWS в одному з таких регіонів, де доступна AWS HealthImaging: Північна Вірджинія (
us-east-1
), Орегон (us-west-2
), Ірландія (eu-west-1
), і Сідней (ap-southeast-2
). - створити Студія Amazon SageMaker домен і профіль користувача з Управління ідентифікацією та доступом AWS (IAM) дозвіл на доступ до AWS HealthImaging.
- Увімкніть розширення JupyterLab v3 і встановіть Imjoy-jupyter-extension, якщо ви хочете візуалізувати медичні зображення на ноутбуці SageMaker в інтерактивному режимі за допомогою itkwidgets.
З’єднувач MAP для AWS HealthImaging
AWS HealthImaging імпортує файли DICOM P10 і перетворює їх у набори зображень, які є оптимізованим представленням серії DICOM. AHI надає API-доступ до метаданих ImageSet і ImageFrames. Метадані містять усі атрибути DICOM у документі JSON. ImageFrames повертаються закодованими в Високопродуктивний JPEG2000 (HTJ2K) формат без втрат, який можна декодувати надзвичайно швидко. ImageSets можна отримати за допомогою Інтерфейс командного рядка AWS (AWS CLI) або SDK AWS.
MONAI — це фреймворк штучного інтелекту для медичної візуалізації, який забезпечує клінічний вплив досягнень досліджень і додатків штучного інтелекту. MONAI Deploy — це конвеєр обробки, який забезпечує наскрізний робочий процес, включаючи упаковку, тестування, розгортання та запуск програм ШІ для медичного зображення в клінічному виробництві. Він включає в себе МОНАЙ Розгорнути App SDK, MONAI Deploy Express, Менеджер робочого процесу та Шлюз інформатики. MONAI Deploy App SDK надає готові до використання алгоритми та структуру для прискорення створення додатків ШІ для медичних зображень, а також утиліти для упаковки програми в контейнер MAP. Вбудовані функції, засновані на стандартах, у програмі SDK дозволяють плавно інтегрувати MAP у здорові ІТ-мережі, що вимагає використання таких стандартів, як DICOM, HL7 і FHIR, а також у центрах обробки даних і хмарних середовищах. Карти можуть використовувати як попередньо визначені, так і налаштовані оператори для завантаження зображень DICOM, вибору серій, визначення моделі та постобробки
Ми розробили a Модуль Python за допомогою AWS HealthImaging Python SDK Boto3. Ви можете встановити його за допомогою pip і скористатися допоміжною функцією для отримання екземплярів DICOM Service-Object Pair (SOP):
!pip install -q AHItoDICOMInterface
from AHItoDICOMInterface.AHItoDICOM import AHItoDICOM
helper = AHItoDICOM()
instances = helper.DICOMizeImageSet(datastore_id=datastoreId , image_set_id=next(iter(imageSetIds)))
Вихідні екземпляри SOP можна візуалізувати за допомогою інтерактивного засобу перегляду 3D-медичних зображень itkwidgets у наведених нижче ноутбук, AHItoDICOM клас використовує переваги кількох процесів для паралельного отримання кадрів пікселів із AWS HealthImaging, а також декодувати Блоби HTJ2K використання Бібліотека Python OpenJPEG. ImageSetIds надходять із вихідних файлів заданого завдання імпорту AWS HealthImaging. Враховуючи DatastoreId та імпортований JobId, ви можете отримати ImageSetId, який еквівалентний UID екземпляра серії DICOM, наступним чином:
imageSetIds = {}
try: response = s3.head_object(Bucket=OutputBucketName, Key=f"output/{res_createstore['datastoreId']}-DicomImport-{res_startimportjob['jobId']}/job-output-manifest.json") if response['ResponseMetadata']['HTTPStatusCode'] == 200: data = s3.get_object(Bucket=OutputBucketName, Key=f"output/{res_createstore['datastoreId']}-DicomImport-{res_startimportjob['jobId']}/SUCCESS/success.ndjson") contents = data['Body'].read().decode("utf-8") for l in contents.splitlines(): isid = json.loads(l)['importResponse']['imageSetId'] if isid in imageSetIds: imageSetIds[isid]+=1 else: imageSetIds[isid]=1
except ClientError: pass
За допомогою ImageSetId ви можете окремо отримати метадані заголовка DICOM і пікселі зображення за допомогою власних функцій AWS HealthImaging API. The Агрегати експортера DICOM заголовки DICOM і пікселі зображення в Pydicom набір даних, який може оброблятися Оператор завантажувача даних MAP DICOM. Використовуючи функцію DICOMizeImageSet(), ми створили конектор для завантаження даних зображення з AWS HealthImaging на основі MAP Оператор завантажувача даних DICOM:
class AHIDataLoaderOperator(Operator): def __init__(self, ahi_client, must_load: bool = True, *args, **kwargs): self.ahi_client = ahi_client … def _load_data(self, input_obj: string): study_dict = {} series_dict = {} sop_instances = self.ahi_client.DICOMizeImageSet(input_obj['datastoreId'], input_obj['imageSetId'])
У попередньому коді, ahi_client
є екземпляром класу експортера AHItoDICOM DICOM із проілюстрованими функціями пошуку даних. Ми включили цей новий оператор завантаження даних у a Додаток штучного інтелекту для 3D-сегментації селезінки, створений пакетом SDK для розгортання додатків MONAI. Ви можете спочатку дослідити, як створити та запустити цю програму на локальному екземплярі ноутбука, а потім розгорніть цю програму MAP у керованих кінцевих точках висновку SageMaker.
Асинхронний висновок SageMaker
SageMaker асинхронний висновок Кінцева точка використовується для запитів із великим розміром корисного навантаження (до 1 ГБ), тривалим часом обробки (до 15 хвилин) і вимогами до затримки майже в реальному часі. Коли немає запитів для обробки, цей варіант розгортання може зменшити кількість екземплярів до нуля для економії коштів, що ідеально підходить для робочих навантажень ML для медичних зображень. Виконайте кроки в зразок зошита для створення та виклику кінцевої точки асинхронного висновку SageMaker. до створити кінцеву точку асинхронного висновку, спочатку потрібно створити модель SageMaker і конфігурацію кінцевої точки. Щоб створити модель SageMaker, вам потрібно буде завантажити пакет model.tar.gz з a визначена структура каталогу у контейнер Docker. Пакет model.tar.gz містить попередньо навчений файл model.ts сегментації селезінки та налаштований файл inference.py. Ми використали попередньо зібраний контейнер із версіями фреймворку Python 3.8 і PyTorch 1.12.1 для завантаження моделі та запуску прогнозів.
У налаштованому inference.py файл, ми створюємо екземпляр допоміжного класу AHItoDICOM з AHItoDICOMInterface і використовуємо його для створення екземпляра MAP у model_fn()
функцію, і ми запускаємо програму MAP для кожного запиту висновку в predict_fn()
функція:
from app import AISpleenSegApp
from AHItoDICOMInterface.AHItoDICOM import AHItoDICOM
helper = AHItoDICOM()
def model_fn(model_dir, context): … monai_app_instance = AISpleenSegApp(helper, do_run=False,path="/home/model-server") def predict_fn(input_data, model): with open('/home/model-server/inputImageSets.json', 'w') as f: f.write(json.dumps(input_data)) output_folder = "/home/model-server/output" if not os.path.exists(output_folder): os.makedirs(output_folder) model.run(input='/home/model-server/inputImageSets.json', output=output_folder, workdir='/home/model-server', model='/opt/ml/model/model.ts')
До викликати асинхронну кінцеву точку, вам потрібно буде завантажити корисне навантаження введення запиту Служба простого зберігання Amazon (Amazon S3), який є файлом JSON із зазначенням ідентифікатора сховища даних AWS HealthImaging та ідентифікатора ImageSet для виконання висновків:
sess = sagemaker.Session()
InputLocation = sess.upload_data('inputImageSets.json', bucket=sess.default_bucket(), key_prefix=prefix, extra_args={"ContentType": "application/json"})
response = runtime_sm_client.invoke_endpoint_async(EndpointName=endpoint_name, InputLocation=InputLocation, ContentType="application/json", Accept="application/json")
output_location = response["OutputLocation"]
Результат також можна знайти в Amazon S3.
Багатомодельний висновок у реальному часі SageMaker
SageMaker висновок у реальному часі кінцеві точки відповідають інтерактивним вимогам із низькою затримкою. Цей варіант може розміщувати кілька моделей в одному контейнері за однією кінцевою точкою, що є масштабованим і економічно ефективним рішенням для розгортання кількох моделей ML. А Багатомодельна кінцева точка SageMaker використовує NVIDIA Triton Inference Server з GPU для запуску кількох висновків моделі глибокого навчання.
У цьому розділі ми розглянемо, як створити та викликати мультимодельну кінцеву точку адаптація власного контейнера висновків у наступному зразок зошита. Різні моделі можуть обслуговуватися в спільному контейнері на одному ресурсі. Кінцеві точки з кількома моделями зменшують накладні витрати на розгортання та масштабують висновки моделі на основі моделей трафіку до кінцевої точки. Ми використовували Інструменти розробника AWS включаючи Amazon CodeCommit, Amazon CodeBuild та Amazon CodePipeline будувати індивідуальний контейнер для визначення моделі SageMaker. Ми підготували а model_handler.py щоб додати свій власний контейнер замість файлу inference.py у попередньому прикладі, і реалізував функції initialize(), preprocess() і inference():
from app import AISpleenSegApp
from AHItoDICOMInterface.AHItoDICOM import AHItoDICOM
class ModelHandler(object): def __init__(self): self.initialized = False self.shapes = None def initialize(self, context): self.initialized = True properties = context.system_properties model_dir = properties.get("model_dir") gpu_id = properties.get("gpu_id") helper = AHItoDICOM() self.monai_app_instance = AISpleenSegApp(helper, do_run=False, path="/home/model-server/") def preprocess(self, request): inputStr = request[0].get("body").decode('UTF8') datastoreId = json.loads(inputStr)['inputs'][0]['datastoreId'] imageSetId = json.loads(inputStr)['inputs'][0]['imageSetId'] with open('/tmp/inputImageSets.json', 'w') as f: f.write(json.dumps({"datastoreId": datastoreId, "imageSetId": imageSetId})) return '/tmp/inputImageSets.json' def inference(self, model_input): self.monai_app_instance.run(input=model_input, output="/home/model-server/output/", workdir="/home/model-server/", model=os.environ["model_dir"]+"/model.ts")
Після того, як контейнер буде побудовано та засунуто Реєстр контейнерів Amazon Elastic (Amazon ECR), з ним можна створити модель SageMaker, а також різні пакети моделей (файли tar.gz) у заданому шляху Amazon S3:
model_name = "DEMO-MONAIDeployModel" + strftime("%Y-%m-%d-%H-%M-%S", gmtime())
model_url = "s3://{}/{}/".format(bucket, prefix)
container = "{}.dkr.ecr.{}.amazonaws.com/{}:dev".format( account_id, region, prefix )
container = {"Image": container, "ModelDataUrl": model_url, "Mode": "MultiModel"}
create_model_response = sm_client.create_model(ModelName=model_name, ExecutionRoleArn=role, PrimaryContainer=container)
Примітно, що model_url
тут лише вказується шлях до папки з файлами tar.gz, і ви вказуєте, який пакет моделі використовувати для висновку під час виклику кінцевої точки, як показано в наступному коді:
Payload = {"inputs": [ {"datastoreId": datastoreId, "imageSetId": next(iter(imageSetIds))} ]}
response = runtime_sm_client.invoke_endpoint(EndpointName=endpoint_name, ContentType="application/json", Accept="application/json", TargetModel="model.tar.gz", Body=json.dumps(Payload))
Ми можемо додати більше моделей до існуючої кінцевої точки багатомодельного висновку без необхідності оновлювати кінцеву точку або створювати нову.
Прибирати
Не забудьте завершити Видаліть ресурси хостингу крок в лабораторія-3 та лабораторія-4 блокноти, щоб видалити кінцеві точки висновку SageMaker. Ви також повинні відмовитися від екземпляра блокнота SageMaker, щоб заощадити кошти. Нарешті, ви можете або викликати функцію AWS HealthImaging API, або скористатися консоллю AWS HealthImaging, щоб видалити створені раніше набори зображень і сховище даних:
for s in imageSetIds.keys(): medicalimaging.deleteImageSet(datastoreId, s)
medicalimaging.deleteDatastore(datastoreId)
Висновок
У цій публікації ми показали вам, як створити з’єднувач MAP для AWS HealthImaging, який можна багаторазово використовувати в програмах, створених за допомогою MONAI Deploy App SDK, для інтеграції та прискорення отримання даних зображень із хмарного сховища DICOM до робочих навантажень AI для медичних зображень. . MONAI Deploy SDK можна використовувати для підтримки роботи лікарні. Ми також продемонстрували два варіанти розміщення для масштабного розгортання програм MAP AI на SageMaker.
Перегляньте приклади зошитів у в GitHub сховище щоб дізнатися більше про те, як розгортати програми MONAI на SageMaker із медичними зображеннями, що зберігаються в AWS HealthImaging. Щоб дізнатися, що AWS може зробити для вас, зверніться до Представник AWS.
Щоб отримати додаткові ресурси, зверніться до наступного:
Про авторів
Мін (Мелвін) Цінь є незалежним учасником команди охорони здоров’я в NVIDIA, яка зосереджується на розробці інфраструктури додатків для висновків штучного інтелекту та платформи для впровадження ШІ в робочі процеси медичного зображення. Перш ніж приєднатися до NVIDIA у 2018 році в якості члена-засновника Clara, Мін витратив 15 років на розробку Radiology PACS і Workflow SaaS як провідний інженер/архітектор у Stentor Inc., яку пізніше придбала Philips Healthcare для створення Enterprise Imaging.
Девід Берікат є менеджером із продуктів охорони здоров’я в NVIDIA, де він очолює робочу групу проекту MONAI Deploy, щоб перенести штучний інтелект від досліджень до клінічного впровадження. Його пристрасть полягає в тому, щоб пришвидшити інновації в галузі охорони здоров’я в усьому світі, перетворивши їх на справжній клінічний вплив. Раніше Девід працював у Red Hat, впроваджуючи принципи відкритого коду на перетині штучного інтелекту, хмарних технологій, периферійних обчислень та Інтернету речей. Його найбільші моменти гордості включають похід до базового табору Евересту та гру у футбол протягом понад 20 років.
Бред Женеро є глобальним керівником альянсів охорони здоров’я в NVIDIA, де він відповідає за зв’язки з розробниками з фокусом на медичних зображеннях для прискорення штучного інтелекту та глибокого навчання, візуалізації, віртуалізації та аналітичних рішень. Бред пропагує повсюдне впровадження та інтеграцію безперебійних процесів охорони здоров’я та медичної візуалізації в повсякденну клінічну практику, маючи понад 20 років досвіду в ІТ-сфері охорони здоров’я.
Банда Фу є архітектором рішень для охорони здоров’я в AWS. Він має ступінь доктора філософії з фармацевтичних наук Університету Міссісіпі та має понад 10 років досвіду в галузі технологій і біомедичних досліджень. Він захоплений технологіями та їхнім впливом на охорону здоров’я.
JP Leger є старшим архітектором рішень, який підтримує академічні медичні центри та робочі процеси медичного зображення в AWS. Він має понад 20 років досвіду в розробці програмного забезпечення, ІТ-технологіях охорони здоров’я та медичній візуалізації, а також великий досвід розробки систем для продуктивності, масштабованості та безпеки в розподілених розгортаннях великих обсягів даних у приміщеннях, у хмарі та гібриді з аналітикою та штучним інтелектом. .
Кріс Хейфі є головним архітектором рішень в Amazon Web Services. Він має понад 25 років досвіду роботи в галузі медичної візуалізації та спеціалізується на створенні масштабованих високопродуктивних систем. Він є творцем популярного проекту з відкритим вихідним кодом CornerstoneJS, який підтримує популярний засіб перегляду нульового сліду з відкритим кодом OHIF. Він зробив внесок у специфікацію DICOMweb і продовжує працювати над покращенням її продуктивності для веб-перегляду.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/build-a-medical-imaging-ai-inference-pipeline-with-monai-deploy-on-aws/
- : має
- :є
- : ні
- :де
- $UP
- 1
- 10
- 100
- 12
- 15 роки
- 15%
- 20
- 20 роки
- 200
- 2018
- 25
- 3d
- 7
- 8
- a
- МЕНЮ
- академічний
- прискорювати
- прискорення
- доступ
- доступною
- рахунки
- придбаний
- через
- додавати
- Додатковий
- Прийняття
- Перевага
- доступний
- AI
- Моделі AI
- Alerts
- алгоритми
- ВСІ
- Альянси
- дозволяти
- Також
- Amazon
- Amazon Web Services
- an
- аналітика
- та
- API
- Доступ до API
- Інтерфейси
- додаток
- додаток
- застосування
- архітектура
- ЕСТЬ
- штучний
- штучний інтелект
- AS
- At
- Атрибути
- автоматичний
- доступний
- AWS
- база
- заснований
- BE
- перед тим
- за
- біомедичні
- тіло
- обидва
- штифтик
- прориви
- приносити
- будувати
- Створюємо
- побудований
- вбудований
- by
- call
- Табір
- CAN
- який
- випадків
- Центр
- Центри
- Клара
- клас
- Клінічний
- хмара
- код
- Приходити
- повний
- включає
- обчислення
- конфігурація
- зв'язок
- Консоль
- консорціуму
- контакт
- Контейнер
- містить
- зміст
- контекст
- триває
- внесок
- вкладник
- Коштувати
- економія на витратах
- рентабельним
- витрати
- обкладинка
- написано співавтором
- створювати
- створений
- творець
- налаштувати
- дані
- Центр обробки даних
- Девід
- глибокий
- глибоке навчання
- демонструвати
- продемонстрований
- розгортання
- розгортання
- розгортання
- розгортання
- DEV
- розвиненою
- Розробник
- розробників
- розвивається
- різний
- розподілений
- do
- Docker
- документ
- вниз
- Раніше
- край
- краю обчислень
- ефективний
- або
- ще
- дозволяє
- кінець в кінець
- Кінцева точка
- Машинобудування
- підприємство
- середовищах
- Еквівалент
- Еверест
- Кожен
- повсякденний
- приклад
- Крім
- існуючий
- досвід
- експертиза
- дослідити
- обширний
- Великий досвід
- надзвичайно
- false
- ШВИДКО
- філе
- Файли
- в кінці кінців
- Перший
- ФЛЕТ
- Сфокусувати
- увагу
- стежити
- після
- слідує
- Слід
- для
- форма
- формат
- знайдений
- заснування
- Рамки
- від
- fu
- повністю
- функція
- функціональні можливості
- Функції
- GitHub
- даний
- Глобальний
- Глобально
- GPU
- Group
- hat
- Мати
- має
- he
- Заголовки
- здоров'я
- охорона здоров'я
- тут
- висока продуктивність
- дуже
- його
- тримає
- лікарня
- господар
- відбувся
- хостинг
- Як
- How To
- HTML
- HTTP
- HTTPS
- гібрид
- ID
- ідеальний
- Особистість
- if
- ілюструє
- зображення
- зображень
- Зображеннями
- Impact
- реалізовані
- реалізації
- імпорт
- імпорт
- поліпшення
- in
- Инк
- включати
- включені
- includes
- У тому числі
- незалежний
- промисловість
- інновація
- вхід
- витрати
- встановлювати
- екземпляр
- замість
- інтегрувати
- інтеграція
- Інтелект
- інтерактивний
- перетин
- в
- КАТО
- Ірландія
- IT
- ЙОГО
- робота
- приєднання
- JPG
- json
- ключ
- Знати
- великий
- Затримка
- пізніше
- вести
- Лідери
- Веде за собою
- УЧИТЬСЯ
- вивчення
- Лінія
- загрузка
- завантажувач
- погрузка
- місцевий
- Довго
- машина
- навчання за допомогою машини
- Більшість
- зробити
- вдалося
- менеджер
- управління
- карта
- карти
- медичний
- Зустрічатися
- член
- метадані
- Метрика
- хвилин
- ML
- режим
- модель
- Моделі
- Модулі
- Моменти
- монітор
- більше
- Мультимодельна кінцева точка
- множинний
- рідний
- Необхідність
- мережу
- мереж
- Нові
- немає
- ніхто
- На північ
- ноутбук
- Примітно,
- Nvidia
- об'єкт
- of
- Пропозиції
- on
- ONE
- тільки
- відкрити
- відкрита мережа
- з відкритим вихідним кодом
- операції
- оператор
- Оператори
- оптимізований
- варіант
- Опції
- or
- Орегон
- OS
- Інше
- вихід
- над
- власний
- пакет
- пакети
- упаковка
- пара
- Паралельні
- пристрасть
- пристрасний
- шлях
- моделі
- продуктивність
- дозвіл
- фармацевтична
- Вчений ступінь
- трубопровід
- піксель
- платформа
- plato
- Інформація про дані Платона
- PlatoData
- ігри
- плюс
- популярний
- пошта
- Харчування
- повноваження
- практика
- Прогнози
- підготовлений
- попередній
- раніше
- Головний
- Принципи
- процес
- Оброблено
- процеси
- обробка
- Product
- менеджер по продукції
- Production
- проект
- властивості
- забезпечує
- штовхнув
- Python
- піторх
- реального часу
- Реальність
- отримати
- червоний
- Red Hat
- зменшити
- послатися
- регіон
- райони
- відносини
- подання
- запросити
- запитів
- Вимога
- Вимагається
- дослідження
- Дослідники
- ресурси
- відповідь
- відповідальний
- повертати
- багаторазовий
- прогін
- біг
- s
- SaaS
- мудрець
- Висновок SageMaker
- то ж
- зберегти
- Економія
- масштабованість
- масштабовані
- шкала
- Масштабування
- наука
- Sdk
- безшовні
- розділ
- безпеку
- сегментація
- вибір
- SELF
- старший
- Серія
- служив
- обслуговування
- Послуги
- набори
- установка
- кілька
- форми
- загальні
- Повинен
- показав
- показаний
- простий
- розміри
- плавно
- Футбол
- Софтвер
- розробка програмного забезпечення
- рішення
- Рішення
- Source
- спеціалізується
- специфікація
- відпрацьований
- стандартів
- Крок
- заходи
- зберігання
- зберігати
- зберігати
- рядок
- такі
- підтримка
- Підтримуючий
- Сідней
- Systems
- приймає
- команда
- Технологія
- Тестування
- ніж
- Що
- Команда
- їх
- Їх
- потім
- Там.
- Ці
- це
- через
- times
- до
- разом
- інструменти
- до
- трафік
- Triton
- правда
- намагатися
- ПЕРЕГЛЯД
- два
- повсюдний
- університет
- Оновити
- використання
- використовуваний
- користувач
- використовує
- використання
- утиліта
- різноманітність
- версії
- перегляд
- Віргінія
- бачення
- візуалізації
- візуалізувати
- Обсяги
- W
- ходити
- хотіти
- we
- Web
- веб-сервіси
- Web-Based
- ДОБРЕ
- Що
- коли
- який
- волі
- з
- в
- без
- Work
- працював
- робочий
- Робочі процеси
- робочий
- Робоча група
- років
- Ти
- вашу
- зефірнет
- нуль