> 기술 주변기기 > 일체 포함 > 딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

PHPz
풀어 주다: 2023-04-11 11:43:02
앞으로
1556명이 탐색했습니다.

10년 전, 딥 러닝의 부상은 부분적으로 새로운 알고리즘과 아키텍처의 통합, 데이터의 상당한 증가, 컴퓨팅 성능의 향상에 의해 주도되었습니다. 지난 10년 동안 AI 및 ML 모델은 더 많은 매개변수와 훈련 데이터로 인해 더 깊고 복잡해졌으며 그에 따라 더 크고 더 복잡해졌으며 결과적으로 머신러닝 역사상 가장 혁신적인 결과를 얻었습니다.

이러한 모델은 생산 및 비즈니스 응용 분야에서 점점 더 많이 사용되고 있으며 동시에 효율성과 비용은 부차적인 고려 사항에서 주요 제한 사항으로 발전했습니다. 효율적인 아키텍처, 학습 효율성, 데이터 효율성, 추론 효율성이라는 4가지 수준에서 주요 과제를 해결하기 위해 Google은 ML 효율성에 지속적으로 막대한 투자를 하고 있습니다. 효율성 외에도 이러한 모델은 신뢰성, 보안, 개인 정보 보호 및 최신성과 관련하여 많은 문제에 직면해 있습니다. 다음으로, 이 기사에서는 위의 과제를 해결하기 위해 새로운 알고리즘을 개발하려는 Google Research의 노력에 중점을 둘 것입니다.

연구의 기본 질문은 "모델을 매개변수화하여 효율성을 향상시킬 수 있는 더 좋은 방법이 있습니까?"입니다. 2022년 연구자들은 컨텍스트 검색, 하이브리드 전문가 시스템, Transformer(대형 ML 모델의 핵심) 효율성 향상에 중점을 둡니다. 향상된 모델을 통해 외부 지식을 주입하는 새로운 기술을 개발합니다.

컨텍스트 강화 모델

더 높은 품질과 효율성을 추구하기 위해 신경 모델은 대규모 데이터베이스 또는 훈련 가능한 메모리의 외부 컨텍스트를 통해 향상될 수 있습니다. 검색된 컨텍스트를 활용함으로써 신경망은 내부 매개변수에 지식을 광범위하게 저장할 필요 없이 더 나은 매개변수 효율성, 해석 가능성 및 현실성을 달성할 수 있습니다.

"컨텍스트 증강 언어 모델링을 위한 분리된 컨텍스트 처리"라는 제목의 기사에서는 외부 컨텍스트를 언어 모델에 통합하기 위한 아키텍처 기반의 간단한 분리된 인코더-디코더 아키텍처를 탐색합니다. 이는 자동 회귀 언어 모델링 및 개방형 도메인 질문 응답 작업에서 상당한 계산 비용 절감을 제공합니다. 그러나 사전 훈련된 LLM(대형 언어 모델)은 대규모 훈련 세트에 대한 자체 감독을 통해 많은 양의 정보를 소비합니다. 그러나 이러한 모델의 세상에 대한 지식이 제시된 맥락과 어떻게 상호 작용하는지는 불분명합니다. KAFT(지식 인식 미세 조정)를 통해 연구원은 반사실적이고 관련 없는 컨텍스트를 표준 감독 데이터 세트에 통합하여 LLM의 제어 가능성과 견고성을 향상시킵니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

논문 주소: https://arxiv.org/abs/2210.05758

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

컨텍스트 인코딩을 위한 인코더-디코더 교차 주의 메커니즘 언어에서 분리됨 모델 추론을 통해 상황 증강 모델의 효율성을 향상시킵니다.

모듈형 심층 네트워크를 모색하는 과정에서, 문제 중 하나는 해당 컴퓨팅 모듈로 개념 데이터베이스를 어떻게 설계할 것인가입니다. 연구원들은 스케치를 처리하기 위한 포인터 모듈을 포함하여 외부 LSH 테이블에 스케치 형태로 "이벤트 기억"을 저장하는 이론적 아키텍처를 제안했습니다.

가속기를 활용하여 대규모 데이터베이스에서 정보를 신속하게 검색하는 것은 상황 증강 모델의 또 다른 주요 과제입니다. 연구원들은 TPU의 성능 모델과 일치하고 예상 재현율에 대한 분석적 보장을 제공하여 최고 성능을 달성하는 TPU 기반 유사성 검색 알고리즘을 개발했습니다. 검색 알고리즘에는 종종 수많은 하이퍼파라미터와 설계 선택이 포함되므로 새로운 작업을 수행할 때 이를 조정하기가 어렵습니다. 연구자들은 자동화된 하이퍼파라미터 튜닝을 위한 새로운 제약된 최적화 알고리즘을 제안합니다. 원하는 비용 또는 재현율을 입력으로 고정한 경우 제안된 알고리즘은 경험적으로 속도 재현율 파레토 경계에 매우 가까운 튜닝을 생성하고 표준 벤치마크에서 최고의 성능을 제공합니다.

혼합 전문가 모델

혼합 전문가(MoE) 모델은 계산 비용을 과도하게 늘리지 않고도 신경망 모델의 용량을 늘리는 효과적인 수단임이 입증되었습니다. MoE의 기본 아이디어는 각 입력이 적절한 전문가 하위 집합에 의해 처리되는 많은 전문가 하위 네트워크에서 통합 네트워크를 구축하는 것입니다. 결과적으로 MoE는 표준 신경망에 비해 전체 모델의 작은 부분만 호출하므로 GLaM과 같은 언어 모델 애플리케이션에서 볼 수 있듯이 효율성이 높습니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

GLaM 아키텍처의 각 입력 토큰은 예측을 위해 64개 전문가 네트워크 중 2개로 동적으로 라우팅됩니다.

특정 입력에 대해 라우팅 기능은 어떤 전문가를 활성화해야 하는지 결정하는 역할을 담당합니다. 연구원은 각 전문가의 과소 활용과 과잉 활용을 피하기를 원하기 때문입니다. 최근 연구에서는 각 입력 토큰을 상위 k 전문가에게 할당하는 대신 각 전문가를 상위 k 토큰에 할당하는 새로운 라우팅 메커니즘인 전문가 선택 라우팅을 제안합니다. 이렇게 하면 전문가 로드 밸런싱이 자동으로 보장되는 동시에 여러 전문가가 입력 토큰을 자연스럽게 처리할 수 있습니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

전문가가 경로를 선택합니다. 미리 결정된 버퍼 용량을 가진 전문가에게는 top-k 토큰이 할당되어 로드 밸런싱이 보장됩니다. 각 토큰은 다양한 수의 전문가에 의해 처리될 수 있습니다.

Effective Transformer

Transformer는 비전부터 자연어 이해까지 일련의 까다로운 문제에서 놀라운 성공을 거둔 인기 있는 시퀀스-투-시퀀스 모델입니다. 이 모델의 핵심 구성 요소는 쿼리와 키 간의 유사성을 식별하고 이러한 유사성을 사용하여 적절하게 가중치가 부여된 값 조합을 구성하는 주의 계층입니다. 성능은 강력하지만 Attention 메커니즘의 계산 효율성은 높지 않으며 복잡성은 일반적으로 입력 시퀀스 길이의 두 번째 거듭제곱입니다.

Transformer의 규모가 계속해서 성장함에 따라 연구에 매우 중요한 문제 중 하나는 효과적인 주의 원리를 해결할 수 있는 학습 모델의 자연 발생 구조나 패턴이 있는지 여부입니다. 이를 위해 연구원들은 중간 MLP 레이어의 학습된 임베딩을 연구한 결과 매우 희박하다는 것을 발견했습니다. 예를 들어 T5-Large 모델에는 0이 아닌 항목이 1% 있습니다. 희소성은 모델 성능에 영향을 주지 않고 잠재적으로 FLOP를 줄일 수 있음을 보여줍니다.

논문 주소: https://arxiv.org/pdf/2210.06313.pdf​

최근 연구에서는 의사 결정 트리에 의존하는 표준 주의 계산의 대안인 Treeformer를 도입했습니다. 간단히 말해서, 이는 쿼리와 관련된 키의 작은 하위 집합을 신속하게 식별하고 해당 집합에 대해서만 주의 작업을 수행합니다. 경험상 Treeformer는 Attention 레이어의 FLOP를 30배까지 줄일 수 있습니다. 이 외에도 Attention과 Greedy 알고리즘을 결합한 차별화 가능한 특징 선택 방법인 Sequential Attention이 있습니다. 이 기술은 선형 모델에 대해 강력하게 입증 가능한 보증을 제공하며 대규모 임베딩 모델로 원활하게 확장됩니다. ​

Transformer 효율성을 향상시키는 또 다른 방법은 Attention 레이어에서 소프트맥스 계산 속도를 높이는 것입니다. 연구진은 "소프트맥스 커널의 낮은 순위 근사"에 대한 연구를 기반으로 소프트맥스 커널의 최초의 "양수 및 경계" 랜덤 특성 근사를 제공하는 새로운 유형의 랜덤 특성을 제안했으며 시퀀스 길이에 대한 계산은 다음과 같습니다. 선의.

훈련 효율성​

효율적인 최적화 방법은 최신 ML 애플리케이션의 초석이며 이는 대규모 설정에서 특히 중요합니다. 이 설정에서는 Adam과 같은 1차 적응 방법조차 비용이 많이 들고 훈련 안정성 문제에 직면하는 경우가 많습니다. 또한 이러한 방법은 일반적으로 신경망의 아키텍처에 불가지론적이므로 아키텍처의 풍부함을 무시하여 훈련 효율성이 낮습니다. 이는 또한 최신 신경망 모델을 보다 효과적으로 최적화하기 위한 새로운 기술이 지속적으로 제안되도록 촉발합니다. 연구자들은 새로운 아키텍처 인식 훈련 기술을 개발하고 있습니다. 예를 들어, Transformer 네트워크 훈련을 위한 일부 연구에는 훈련 프로세스 속도를 높이기 위해 새로운 규모 불변 Transformer 네트워크와 SGD(확률적 경사하강법)와 결합된 새로운 가지치기 방법이 포함됩니다. 이 방법의 도움으로 연구자들은 적응할 필요 없이 처음으로 간단한 SGD를 사용하여 BERT를 효과적으로 훈련할 수 있었습니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

논문 주소: https://arxiv.org/pdf/2210.05758.pdf​

또한 연구진은 LocoProp의 도움을 받아 새로운 방법을 제안했습니다. 1차 최적화 프로그램과 동일한 컴퓨팅 및 메모리 리소스를 사용하면서 2차 최적화 프로그램에 대한 성능을 향상시킵니다. LocoProp은 신경망의 모듈식 보기를 사용하여 신경망을 레이어 구성으로 나눕니다. 그런 다음 각 레이어는 자체 손실 함수와 출력 목표 및 가중치 정규화 기능을 가질 수 있습니다. 이 설정을 사용하면 적절한 정방향 및 역방향 패스 후 LocoProp은 각 레이어의 로컬 손실을 병렬로 계속 업데이트합니다. 실제로 이러한 업데이트는 이론적으로나 경험적으로 고차 최적화 프로그램의 업데이트와 유사한 것으로 나타날 수 있습니다. 딥 오토인코더 벤치마크에서 LocoProp은 속도 이점을 가지면서 고차 최적화 프로그램에 필적하는 성능을 달성합니다.

논문 링크: https://proceedings.mlr.press/v151/amid22a.html​

역전파와 유사하게 LocoProp은 순방향 전달을 적용하여 활성화를 계산합니다. 역방향 패스에서 LocoProp은 각 레이어에 대해 뉴런별 타겟을 설정합니다. 마지막으로 LocoProp은 모델 훈련을 여러 레이어의 독립적인 문제로 분할합니다. 여기서 여러 로컬 업데이트를 각 레이어의 가중치에 병렬로 적용할 수 있습니다.

SGD와 같은 옵티마이저의 핵심 아이디어는 각 데이터 포인트가 분포와 독립적이고 동일하게 샘플링된다는 것입니다. 불행하게도 모델(또는 에이전트)이 자체 예측을 기반으로 생성된 데이터로부터 학습해야 하는 강화 학습과 같은 실제 환경에서는 이를 충족시키기가 어렵습니다. 연구진은 선형 동적 시스템, 비선형 동적 시스템, Q-러닝에서 최적의 솔루션을 찾을 수 있는 역경험 재생 기반의 새로운 SGD 알고리즘을 제안했습니다. 또한 연구에 따르면 이 방법의 향상된 버전인 IER이 현재 다양한 인기 RL 벤치마크에서 가장 안정적인 경험 재생 기술인 것으로 입증되었습니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

문서 주소: https://arxiv.org/pdf/2103.05896.pdf

데이터 효율성

많은 작업에서 심층 신경망은 대규모 데이터 세트에 크게 의존합니다. 대규모 데이터세트에서 발생하는 저장 비용과 잠재적인 보안/개인 정보 보호 문제 외에도 이러한 데이터세트에 대한 최신 심층 신경망을 훈련하는 데에는 높은 계산 비용이 발생합니다. 이 문제를 해결하는 한 가지 가능한 방법은 데이터의 하위 집합을 선택하는 것입니다.

연구원들은 실제 일괄 처리 설정에서 임의의 모델군과 작동하도록 설계된 하위 집합 선택 프레임워크를 분석했습니다. 이 경우 학습자는 한 번에 하나의 예제를 샘플링하여 컨텍스트와 실제 레이블 모두에 액세스할 수 있지만 오버헤드를 제한하기 위해 상태(즉, 모델 가중치에 대한 추가 교육)는 충분한 예제 배치 후에만 업데이트될 수 있습니다. 선택되었습니다. 연구원들은 중요도 샘플링을 통해 예제를 선택하는 IWeS라는 알고리즘을 개발했습니다. 여기서 각 예제에 할당된 샘플링 확률은 이전에 선택한 배치에 대해 훈련된 모델의 엔트로피를 기반으로 합니다. 연구에서 제공한 이론적 분석은 일반화 및 샘플링 속도의 한계를 보여줍니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

문서 주소: https://arxiv.org/pdf/2301.12052.pdf​

대규모 네트워크 교육의 또 다른 문제는 교육 데이터와 배포 시 표시되는 데이터 간의 분포 변경에 매우 취약할 수 있다는 것입니다. 특히 모든 배포 시간 시나리오를 다룰 수 없는 제한된 양의 훈련 데이터로 작업할 때 그렇습니다. "극단적인 단순성 편향"이 신경망의 취약성 뒤에 있는 핵심 문제라는 가설을 세운 최근 연구는 이 가설을 실현 가능하게 만들었고, DAFT와 FRR이라는 두 가지 새로운 보완 방법을 결합하면 훨씬 더 강력한 신경망을 제공할 수 있습니다. 특히, 이 두 가지 방법은 학습 네트워크를 강화하기 위해 적대적인 미세 조정과 역 특징 예측을 사용합니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

논문 주소: https://arxiv.org/pdf/2006.07710.pdf

추론 효율성​

신경망의 크기를 늘리면 성능이 향상될 수 있다는 것이 밝혀졌습니다. 예측 정확도 그러나 실제 세계에서 이러한 이점을 실현하는 것은 큰 모델의 추론 비용이 배포에 매우 높기 때문에 어렵습니다. 이는 정확성을 희생하지 않고 서비스 효율성을 향상시키는 전략을 추진합니다. 2022년에 전문가들은 이 목표를 달성하기 위해 다양한 전략, 특히 지식 증류 및 적응형 컴퓨팅을 기반으로 하는 전략을 연구했습니다.

Distillation

Distillation은 대규모 신경 모델의 잠재적 적용 가능성을 크게 확장하는 간단하고 효과적인 모델 압축 방법입니다. 연구에 따르면 증류는 광고 추천과 같은 일련의 실제 응용 분야에서 역할을 할 수 있음이 입증되었습니다. 대부분의 증류 사용 사례에는 기본 레시피를 특정 영역에 직접 적용하는 작업이 포함되며, 이것이 언제, 왜 작동해야 하는지에 대한 이해가 제한되어 있습니다. 올해 Google의 연구에서는 특정 환경에 맞게 증류를 맞춤화하는 방법을 살펴보고 증류 성공을 제어하는 ​​요소를 공식적으로 조사했습니다. ​

알고리즘 측면에서 우리는 교사 레이블의 노이즈를 신중하게 모델링하고 교사 레이블을 얻기 위해 데이터의 하위 집합을 샘플링하는 효율적인 측정을 통해 훈련 예제에 가중치를 다시 부여하는 중요한 접근 방식을 개발합니다. Google은 "교사 안내 교육: 지식 이전을 위한 효율적인 프레임워크"에서 고정 데이터 세트에 주석을 달기 위해 교사를 수동적으로 사용하는 대신 주석을 달 수 있는 정보 샘플 선택을 안내하는 데 교사가 적극적으로 사용된다고 명시했습니다. 이는 제한된 데이터 또는 롱테일 설정에서 증류 프로세스를 돋보이게 만듭니다.

논문 주소: https://arxiv.org/pdf/2208.06825.pdf​

또한 Google에서는 Cross-Encoder(BERT와 같은 Dual-Encoder)부터 Factorial Dual Encoder까지 연구해왔습니다. (쿼리, 문서) 쌍의 관련성을 평가하는 중요한 설정이기도 한 듀얼 인코더를 위한 새로운 방법입니다. 연구원들은 크로스 인코더와 듀얼 인코더 간의 성능 격차가 발생하는 이유를 조사했으며, 이는 듀얼 인코더의 용량 제한보다는 일반화의 결과일 수 있다고 지적했습니다. 증류 손실 함수를 주의 깊게 구성하면 이러한 상황을 완화하고 크로스 인코더와 듀얼 인코더 성능 간의 격차를 줄일 수 있습니다. 그 후, embedtitil에서는 Teacher 모델의 임베딩을 일치시켜 이중 인코더 증류를 더욱 개선하는 방법을 조사합니다. 이 전략은 교사의 문서 임베딩을 상속하고 고정하는 것이 매우 효과적인 대규모 듀얼 인코더 모델에서 정보를 추출하는 데에도 사용될 수 있습니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

논문 주소: https://arxiv.org/pdf/2301.12005.pdf​

이론적으로 이 연구는 감독 복잡성 관점에서 증류에 대한 새로운 관점을 제공합니다. , 이는 학생들이 교사 라벨을 얼마나 잘 예측하는지를 측정하는 것입니다. NTK(신경 접선 커널) 이론은 개념적 통찰력을 제공합니다. 연구에 따르면 증류는 교사 모델이 모델링하기 어렵다고 간주하는 지점에 학생들이 적합하지 않게 만들 수 있음을 보여줍니다. 직관적으로 이는 학생들이 합리적으로 모델링할 수 있는 표본에 제한된 능력을 집중하는 데 도움이 될 수 있습니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

논문 주소: https://arxiv.org/pdf/2301.12245.pdf

적응형 계산​

증류는 추론 비용을 줄이는 효과적인 수단이지만 모든 샘플에서 일관됩니다. 그러나 직관적으로 일부 쉬운 샘플은 본질적으로 하드 샘플보다 계산이 덜 필요할 수 있습니다. 적응형 컴퓨팅의 목표는 이러한 샘플 종속 계산을 가능하게 하는 메커니즘을 설계하는 것입니다. ​

CALM(Confident Adaptive Language Modeling)은 T5와 같은 Transformer 기반 텍스트 생성기에 대해 제어된 조기 종료 기능을 도입합니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

논문 주소: https://arxiv.org/pdf/2207.07061.pdf

이러한 형태의 적응형 계산에서 모델은 변환기 수를 사용하여 각 디코딩 단계를 동적으로 수정합니다. 레이어. 조기 종료 게이트는 통계적 성능 보장을 충족하도록 조정된 결정 임계값과 함께 신뢰도 측정을 사용합니다. 이런 방식으로 모델은 가장 어려운 예측을 위해 디코더 레이어의 전체 스택만 계산하면 됩니다. 더 간단한 예측에는 몇 개의 디코더 레이어만 계산하면 됩니다. 실제로 모델은 예측을 위해 평균적으로 약 1/3 많은 레이어를 사용하므로 동일한 수준의 발전 품질을 유지하면서 속도가 2~3배 향상됩니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

일반 언어 모델(위) 및 CALM(아래)을 사용하여 텍스트를 생성합니다. CALM은 초기 예측을 시도합니다. 생성된 콘텐츠(짙은 파란색 색조)에 대해 충분히 확신이 들면 건너뛰어 시간을 절약합니다.

널리 사용되는 적응형 컴퓨팅 메커니즘은 두 개 이상의 기본 모델을 계단식으로 배열하는 것입니다. 캐스케이드를 사용할 때 중요한 질문은 단순히 현재 모델의 예측을 사용할지 아니면 예측을 다운스트림 모델로 연기할지 여부입니다. 지연 시기를 학습하려면 결정 지연을 위한 감독으로 적절한 신호를 활용할 수 있는 적절한 손실 기능을 설계해야 합니다. 이 목표를 달성하기 위해 연구원들은 기존 손실 함수를 공식적으로 연구하여 암시적 레이블 평활화 애플리케이션으로 인해 훈련 ​​샘플에 적합하지 않을 수 있음을 입증했습니다. 연구에 따르면 이는 어떤 방식으로든 모델 내부를 수정할 필요가 없는 지연된 규칙의 사후 교육을 통해 완화될 수 있는 것으로 나타났습니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

문서 주소: https://openreview.net/pdf?id=_jg6Sf6tuF7​

검색 애플리케이션의 경우 표준 의미 검색 기술은 대규모로 생성된 각 임베딩에 대해 고정 값을 사용합니다. 모델 익스프레스. 즉, 표현의 크기와 기능은 다운스트림 작업 및 관련 컴퓨팅 환경이나 제약 조건에 관계없이 본질적으로 고정되어 있습니다. MRL(Matryoshka 표현 학습)은 배포 환경에 따라 표현을 조정할 수 있는 유연성을 도입합니다. ScaNN과 같은 표준 근사 인접 이웃 검색 기술과 함께 사용하면 MRL은 동일한 재현율 및 정밀도 메트릭을 사용하면서 최대 16배 더 낮은 계산을 제공할 수 있습니다.

딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.

논문 주소: https://openreview.net/pdf?id=9njZa1fm35

위 내용은 딥 러닝 알고리즘의 효율성을 향상시키는 방법에 대해 Google은 다음과 같은 트릭을 가지고 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿